On 6/27/2010 8:32 PM, JonY wrote: > On 6/26/2010 19:59, JonY wrote: >> Hello, >> mingw-w64 (mingw-w64.sourceforge.net) is a toolchain to target 64bit >> windows. It is setup as a cygwin hosted cross compiler. Currently it is >> split into 4 packages: headers, crt, binutils and gcc. The latter 2 is >> from FSF.
Does this version support multilib? that is, it's a cygwin hosted compiler targeting only -m64, or also -m32? If the latter, then...well, it's just good to know. >> GCC 4.6 (trunk) was chosen to avoid the ABI change from 4.5.0 biting >> users. LTO is also enabled. >> >> I would admit packaging could be a bit better, I'm open to suggestions >> for improvement. >> >> mingw-w64 headers: >> <https://sourceforge.net/projects/mingw-w64/files/Cygwin%20Snapshots/dist/w64-headers/w64-headers-20100625-1.tar.bz2> I know headers are, by definition, source, but I'm not sure if setup.exe's tiny little brain can grok a package like this, without a corresponding source. Should its setup.hint have an "external-source: ???" record? I'm pretty sure all of the w64-gcc-??? language binary packages should have one, specifying w64-gcc as their source provider. And w64-gcc-rt is probably misnamed. If it contains the DLLs (like libgcc*.dll or whatever it is named, plus the corresponding DLLs for g++ & fortran), they should be split up into separate "libfoo" packages. This makes representing dependency information for apps compiled using this compiler more granular. E.g. Consider "regular" cygwin gcc(4)'s runtime library packages: libgcc1 libstdc++6 libgfortran3 If you *really* want to prefix everything with w64 to indicate which "compiler family" they belong to, then something like w64-mingw64-libgcc1 w64-mingw64-libstdc++6 w64-mingw64-libgfortran3 or similar would be good. If the compiler is multilib (e.g. supports also -m32), then the 32bit runtime libs should have their OWN separate packages, perhaps w64-mingw32-libgcc1 w64-mingw32-libstdc++6 w64-mingw32-libgfortran3 I'm anticipating at some point we'll have a mingw.org based (32bit only) cross compiler. We'll need it for some things, once gcc3 -mno-cygwin dies; and IIUC mingw64 won't be directly usable for those purposes because we'd end up with a mixture of windows headers; remember that cygwin itself uses the mingw.org headers. Anyway, the runtime libraries for THAT compiler's languages would probably be something like 'mingw32-libgcc1' (or even mingw-libgcc1, but that might be a bad/confusing choice given w64's presence). Dave K would be the person to chime in on that point, but AFAIK he's been AFK for over a week. I haven't had a chance to validate the packaging (e.g. build-from-source, etc) and probably won't until after the 4th. So...somebody else should probably do that. But I give it +1 for concept. (Actually, since Fedora ships the mingw64 compiler as their official windows cross compiler IIRC, we don't really need to vote.) -- Chuck