[ITA] w32api-3.0b_svn5368-1

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Tue Aug 21 03:46:00 GMT 2012


On Tue, Aug 21, 2012 at 11:31:23AM +0800, JonY wrote:
>On 8/21/2012 10:23, JonY wrote:
>> On 8/21/2012 09:15, JonY wrote:
>>> On 8/21/2012 07:22, Yaakov (Cygwin/X) wrote:
>>>> On 2012-08-20 07:15, JonY wrote:
>>>>> New version up. Was the first uploaded?
>>>>
>>>> No, nor can it until packages which depend on w32api build correctly.
>>>>
>>>>> http://sourceforge.net/projects/mingw-w64/files/Cygwin%20Snapshots/dist/w32api/w32api-3.0b_svn5373-1-src.tar.bz2/download
>>>>>
>>>>> http://sourceforge.net/projects/mingw-w64/files/Cygwin%20Snapshots/dist/w32api/w32api-3.0b_svn5373-1.tar.bz2/download
>>>>>
>>>>> http://sourceforge.net/projects/mingw-w64/files/Cygwin%20Snapshots/dist/w32api/setup.hint/download
>>>>>
>>>>
>>>> The binary package contains only the headers; the libs are missing.
>>>>
>>>
>>> My bad, I did not notice the build stage error, cygport proceeded to
>>> install and package.
>>>
>>>> So I built this from SVN trunk myself, and xorg-server still FTBFS:
>>>>
>>>> In file included from /usr/include/w32api/windows.h:69:0,
>>>>                  from /usr/include/X11/Xwindows.h:60,
>>>>                  from ../../../hw/xwin/winms.h:42,
>>>>                  from ../../../hw/xwin/win.h:193,
>>>>                  from winpriv.c:10:
>>>> /usr/include/w32api/windef.h:107:13: error: conflicting types for 'BOOL'
>>>> /usr/include/X11/Xmd.h:143:16: note: previous declaration of 'BOOL' was
>
>Yaakov, try this change:
>
>Index: include/windef.h
>===================================================================
>--- include/windef.h    (revision 5374)
>+++ include/windef.h    (working copy)
>@@ -101,6 +101,7 @@
> #ifndef _DEF_WINBOOL_
> #define _DEF_WINBOOL_
> typedef int WINBOOL;
>+#ifndef XFree86Server /* For xorg-server */
> #pragma push_macro("BOOL")
> #undef BOOL
> #if !defined(__OBJC__) && !defined(__OBJC_BOOL) && !defined(__objc_INCLUDE_GNU)
>@@ -110,6 +111,7 @@
> typedef BOOL *PBOOL;
> typedef BOOL *LPBOOL;
> #pragma pop_macro("BOOL")
>+#endif /* XFree86Server */
> #endif /* _DEF_WINBOOL_ */
>
>I'm not sure if things will explode horribly.

Maybe this is just a sanity check/proof of concept thing but do we
really want to have specific ifdef's like this in shipping headers?
That would suggest a neverending cascade of ifdefs.

If we really need something like this then I'd suggest something more
generic like a #ifdef __PROTECT_PROTECT_BOOL_MACRO.

cgf



More information about the Cygwin-apps mailing list