On 21/08/2012 23:26, JonY wrote: > On 8/22/2012 02:58, Yaakov (Cygwin/X) wrote: >> Once we get past those, there are a few more: This is what I get for only checking git master :S >> In file included from winmultiwindowwm.c:74:0: >> taskbar.h:34:16: error: redefinition of ‘struct _tagpropertykey’ >> /usr/include/w32api/wtypes.h:762:16: note: originally defined here >> taskbar.h:37:3: error: conflicting types for ‘PROPERTYKEY’ >> /usr/include/w32api/wtypes.h:765:3: note: previous declaration of >> ‘PROPERTYKEY’ was here >> taskbar.h:39:0: warning: "REFPROPVARIANT" redefined >> /usr/include/w32api/propidl.h:266:0: note: this is the location of the >> previous definition >> In file included from winmultiwindowwm.c:74:0: >> taskbar.h:67:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ >> before ‘const’ >> >> winmultiwindowwm.c: In function ‘winSetAppID’: >> winmultiwindowwm.c:2064:44: error: ‘PKEY_AppUserModel_ID’ undeclared >> (first use in this function) >> >> This would appear to be fixable by using in >> hw/xwin/taskbar.h instead of defining this stuff ourselves, but that >> header is _W64-specific. > > The header details are actually scrapped from MSDN. It's nice to have more up-to-date PSDK headers. But, I'm guessing that the issue Yaakov is alluding to here is that mingw.org's w32api doesn't have a propkey.h, so I would be reluctant to upstream a patch which unconditionally included propkey.h. Putatively, the X.org source is compilable using a MinGW toolchain to produce a native X server, and this would break that for anyone still using the mingw.org toolchain. Fortunately, this seems fixable if we can check we are using mingw-w64 or mingw.org headers . I'm told that checking for __MINGW64_VERSION_MAJOR is the defined way to do this. Yaakov, you might like to try the attached patch. With an appropriate change to prevent BOOL redefinition errors, this builds X server for me.