On Sun, Jun 03, 2012 at 09:19:29AM -0500, Yaakov (Cygwin/X) wrote: >On 2012-06-01 02:45, Yaakov (Cygwin/X) wrote: >> Fedora has switched from the i686-pc-mingw32 toolchain to the >> {i686,x86_64}-w64-mingw32 toolchains in F17. This means that setup >> cannot currently be built on F17. > >The attached draft patches for setup and mingw64-headers (r4913) allow >setup to be built cleanly and work correctly (AFAICS) with both i686 >toolchains. > >The code also compiles cleanly on x86_64-w64-mingw32 but needs some >additional LIBS as I circumvented autoload.c, which is clearly 32-bit >specific and should be unnecessary on 64-bit Windows (being new enough >to have all these functions). This probably needs further functional >changes and probably isn't useful until we have a 64-bit Cygwin, but it >did expose some type incompatibilities. > >These are NOT ready to commit right now; they are being posted to help >collaboration with mingw-w64 to make this work.
I didn't look at this in great detail but it seems like you are using random styles for coercion, i.e., sometimes: (unsigned int)foo and others: (int) foo. (and since unsigned implies int there is no reason for unsigned int). Also you seem to have added a new conditional for #ifndef __CYGWIN__. I'm not sure what there is about this toolchain which requires that but we shouldn't be adding new code which conditionalizes using __CYGWIN__. I've just checked in a change which gets rid of the last vestige of __CYGWIN__ in the source code. cgf