Features/AddingCrossCompilers

= Adding Cross Compilers =

Summary
Fedora is a great multipurpose distro, but I have noticed that Fedora lacks variants of the GNU Compiler Collection that target other platforms, specifically for cross-compiling to platforms other than Linux, or even cross architectures.

Owner

 * Name: [NealGompa]

Current status

 * Targeted release: N/A
 * Last updated: 12/19/2007
 * Percentage of completion: XX%

Detailed Description
Fedora is known for being a bleeding edge distro with all the niceties that can be offered by Free Software. However, Fedora lacks cross-compilers to other platforms, such as Widnows, Solaris, Mac OS X/Darwin, Hurd, etc. Fedora has the foundation to be a great development platform, but it should also be able to cater to those who need these specialized tools. GCC is already very portable and used widely on nearly every modern platform. And to top it off, GCC provides a Linux cross-compiler for nearly all of those other platforms to make it easy for developers to use the powerful Linux environment to develop applications and build them for release.

Benefit to Fedora
Fedora will be able to provide tools on 32-bit version to compile packages for 64-bit, and be able to provide cross-compiling tools for compiling on Linux for Windows, Solaris, Mac OS X/Darwin, Hurd, etc. (whatever GCC can support, Fedora should be able to support)

Scope
Initially, providing i386 cross compilers to other platforms in Fedora, as well as cross to x86_64 and to other platforms on x86_64.

Test Plan

 * Get the compiler packages ready.


 * Attempt compiling cross-platform programs under different platform targets (e.g. Code::Blocks, SDL, Xine, GStreamer, etc.)


 * If builds are successful, then packages work.


 * Document whatever was necessary to invoke cross-compiling functionality

User Experience
Should be easily detectable by IDEs already supporting cross-compiling, such as Code::Blocks IDE to streamline the process. Configure scripts should be able to be switched to target the other platforms and actually work, rather than fail being unable to find the needed compilers.

Dependencies

 * MinGW (Cross-compiler for Windows 32-bit and 64-bit) does not have 64-bit support until GCC 4.3.x series supposedly, so if we want to include MinGW with 64-bit cross-compiling, then we need [[Features/GCC4.3].

Contingency Plan
Not necessary, does not replace core components afaik. In case GCC 4.3.x cannot be adopted for Fedora 9, then scale back supported "other" platforms in Fedora.

Documentation

 * http://mingw.org
 * http://mingw-w64.sourceforge.net/
 * http://gcc.gnu.org

Release Notes
GCC 4.2.1 already does support MinGW 32-bit, and also supports all the other suggested platforms.

Current GCC 4.1.x in Fedora 8 status with MinGW is unknown.