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