Hi everybody,
It took some time but I can now finally announce a new set of packages
belonging to the cross compiler framework
The main difference from the first attempt is that we now have
per-target RPMs (as Kevin requested). This means that we have source
RPMs called 'cross-libfoo' which generate binary RPMs called
'mingw32-libfoo', 'mingw64-libfoo' and 'darwinx-libfoo'
If you install only mingw32-* packages, then only other mingw32-*
packages will get pulled in as dependencies. So if you're only
interested in mingw32 packages, your disk won't get polluted by packages
for other targets
Next to this, some other major changes were applied as well.
>From now on, we're using a recent GCC 4.6 snapshot to build all packages
(it's the same snapshot as the native Fedora GCC). This new version of
GCC also brings us LTO support
All packages were build successfully against GCC 4.6 although about 6
packages required some minor patching (patches are in the svn
repository)
A long standing bug [1] has also been taken care of. In the current
mingw32-gcc package there's a hard dependency on mingw32-pthreads
(caused by libgomp). I managed to break this dependency by moving the
libgomp specific files to a separate subpackage. So if one now installs
mingw32-gcc{-c++} (or the mingw64 counterpart) then it won't pull in
mingw32-pthreads anymore. People who really want to use libgomp/openmp
in gcc have to install the mingw32-libgomp (or mingw64-libgomp) package
manually
Various packages have been updated as well to their latest versions
This new set of packages is now published in the testing repositories.
Details about that can be found at [2]
While all packages were rebuilding I spent some time to write a Feature
page [3] and updated packaging guidelines [4].
Everything should be ready now to get things rolling.
I just created review request tickets for the 5 toolchain packages
[5][6][7][8][9] and made the mingw-crt and mingw-headers packages block
FE-Legal as they have to be cleared first.
Now is the time for you to help! There are various ways to help. The
first is to test the packages in the testing repository (does upgrading
work fine, can binaries be compiled, etc). Other areas where you can
help is by reviewing the packages which are now in the package review
queue. You can help out with reviewing the draft packaging guidelines.
Do they look sane? Can they be improved? Can the RPM macros be improved?
etc. Finally you can also help out by porting your mingw32-* packages to
the cross compiler framework
The main question at the moment is whether we can have the 5 toolchain
packages approved in time for Fedora 15. My fear is that the main issue
will be the legal aspect. If that can't be cleared soon enough then
we'll most likely be too late for Fedora 15. We're actually already past
the feature submission deadline (which was 5 days ago) as well so I
guess we're already too late for Fedora 15...
Happy testing!
Regards,
Erik van Pienbroek
[1]: https://bugzilla.redhat.com/show_bug.cgi?id=599567
[2]:
https://fedoraproject.org/wiki/MinGW/CrossCompilerFramework#Development_and_testing_repository
[3]: https://fedoraproject.org/wiki/Features/CrossCompilerFramework
[4]:
https://fedoraproject.org/wiki/PackagingDrafts/CrossCompilerFramework
[5]: https://bugzilla.redhat.com/show_bug.cgi?id=673784
[6]: https://bugzilla.redhat.com/show_bug.cgi?id=673786
[7]: https://bugzilla.redhat.com/show_bug.cgi?id=673788
[8]: https://bugzilla.redhat.com/show_bug.cgi?id=673790
[9]: https://bugzilla.redhat.com/show_bug.cgi?id=673792