Announcing the Cross Compiler Framework (Win32+Win64)
Erik van Pienbroek
erik at vanpienbroek.nl
Mon Jan 3 22:30:34 UTC 2011
In the last few weeks I worked on creating a method to easily build and
maintain RPM packages for both Win32 as well as Win64 targets. Adding
support for the Mac OS X target should also be easily possible. This has
resulted in a set of RPM packages which I would like to call the Cross
This set of RPM packages brings various changes to the Fedora MinGW
world. The most important one is that the mingw-w64 toolchain is now
used instead of the mingw.org toolchain. The reason behind this change
is that the mingw-w64 toolchain provides support for both win32 and
win64 targets and is more actively maintained than the mingw.org one.
So what does this mean for all users and packagers of the current
mingw32 packages which are already in Fedora? First of all, the name of
the triplet has changed from 'i686-pc-mingw32' to 'i686-w64-mingw32'.
This means that commands like for example gcc are now named
'i686-w64-mingw32-gcc'. All mingw32 files are now also saved in the
folder /usr/i686-w64-mingw32 instead of /usr/i686-pc-mingw32. Helper
scripts like 'mingw32-configure' also still work and refer to the new
set of commands and paths.
Next to this, various packages have been renamed from 'mingw32-...' to
'cross-...'. This is used to indicate that the package in question
contain binaries for multiple targets. If a package has been renamed
from 'mingw32-...' to 'cross-...' then the original 'mingw32-...'
package will be obsoleted by the 'cross-...' one.
All current mingw32 packages should build just fine against this new
framework (or with minor patching)
There are two repositories published at the moment containing the
packages belonging to the cross compiler framework. One contains
binaries for both win32 and win64 targets while the other one also
contains binaries for Mac OS X. The Mac OS X pieces can't be added to
Fedora at the moment because of legal issues and the fact that some
binary blobs (from the Mac OS X SDK) were used.
All current mingw32 packages which have been in Fedora as of December 30
2010 have been added to the testing repositories. About 32 packages have
been ported entirely to the new cross compiler framework.
More details about this cross compiler framework including information
about the testing repositories and a porting guide can be found at
My plan is to get all the packages belonging to the cross compiler
framework in Fedora 15, rebuild all current mingw32 packages and
rename/port various packages in order to have win32/win64 support. On
the link mentioned above there's a plan indicating the steps required to
get everything in Fedora. I'll open review requests for the 5 base
packages soon and I hope that somebody can review them quickly so we can
still make it in time for the Fedora 15 feature freeze (which is about 5
weeks from now).
Feel free to test the testing repositories and report back any issues
you might find. Other feedback about the cross compiler framework is
welcome too. Help with the reviews is very much appreciated as well!
Erik van Pienbroek
More information about the mingw