[MPlayer-cvslog] r27496 - in trunk/stream: asf_mmst_streaming.casf_streaming.c http.c librtsp/rtsp_session.cnetwork.c network.h pnm.c rtp.c stream.cstream_ftp.c stream_netstream.c stream_rtsp.c tcp.c udp.c
JonY
10walls at gmail.com
Sun Aug 31 11:58:15 CEST 2008
Zuxy Meng wrote:
> "Dominik 'Rathann' Mierzejewski"<dominik at rangers.eu.org> 写入消息新闻:20080831082928.GA11794 at mokona.greysector.net...
>> On Saturday, 30 August 2008 at 18:21, Zuxy Meng wrote:
>>> "JonY"<10walls at gmail.com> 写入消息新闻:48B96416.4040206 at gmail.com...
>>>> diego wrote:
>>>>> Author: diego
>>>>> Date: Sat Aug 30 00:55:39 2008
>>>>> New Revision: 27496
>>>>>
>>>>> Log:
>>>>> Move duplicated '#define closesocket close' into network.h along with
>>>>> network-related #include #ifdeffery.
>>>>>
>>>>>
>>>>> Modified:
>>>>> trunk/stream/asf_mmst_streaming.c
>>>>> trunk/stream/asf_streaming.c
>>>>> trunk/stream/http.c
>>>>> trunk/stream/librtsp/rtsp_session.c
>>>>> trunk/stream/network.c
>>>>> trunk/stream/network.h
>>>>> trunk/stream/pnm.c
>>>>> trunk/stream/rtp.c
>>>>> trunk/stream/stream.c
>>>>> trunk/stream/stream_ftp.c
>>>>> trunk/stream/stream_netstream.c
>>>>> trunk/stream/stream_rtsp.c
>>>>> trunk/stream/tcp.c
>>>>> trunk/stream/udp.c
>>>>>
>>>> Hi,
>>>> It looks like one of the hunks broke MinGW build.
>>>>
>>>> libmpdemux and the codecs under it cannot be compiled properly because
>>>> definitions from "./loader/wine/*.h" is conflicting with the native
>>>> headers. Conflicts with "loader/wine/windef.h" is especially visible.
>>>>
>>>> "ad_internal.h", used by many of the files under libmpdemux includes
>>>> "stream/stream.h", which then includes "stream/network.h" if
>>>> "CONFIG_NETWORK" is defined, which then in turn includes the native
>>>> "ws2tcpip.h".
>>>>
>>>> r27495 builds with minor workarounds (read: local hacks) for
>>>> HAVE_WINSOCK2_H and closesockets.
>>>>
>>>> Any ideas to fix the problem?
>>> I'd say we'd better revert this mess first.
>> Why don't we have a look at the exact compilation failures first?
>> The original commit was a major cleanup and I'd hate to see it
>> reverted if it can be easily fixed.
>
>
> There're just too many. To name a few:
>
> 1. winsock2.h complains about lacking of definition for LPGUID, because
> codec-cfg.h only defines GUID.
Include ws2tcpip.h first? Both have the same length, different member
names though.
From winnt.h
typedef struct _GUID {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID, *REFGUID, *LPGUID;
From codec-cfg.h
typedef struct {
unsigned long f1;
unsigned short f2;
unsigned short f3;
unsigned char f4[8];
} GUID;
> 2. Definitions of INT32 and boolean conflicts with jpeglib.
> 3. STREAM_SEEK conflicts with stream/stream.h
Rename STREAM_SEEK?
> 4. Lots of redefinition where any header under loader/wine/ is included.
>
> We should include<winsock2.h> only when it's needed, because it in turn
> includes<windows.h> which is *big* mess.
>
IMHO, this should be fixed so native MinGW interfaces are preferred over
WINE interface when building under MinGW.
I'm curious why wine headers are used at all for MinGW builds.
More information about the MPlayer-cvslog
mailing list