With support for ARM and thus embedded systems, I feel I must speak out. The current "cross compiler" needs to be reworked, and while I don't know the internals that well, I can imagine it wouldn't be that hard to change. A simple but efficient strategy would be to delegate the generated C/C++/ObjC code to a cross compiler toolchain (ie. i486-mingw32-gcc, which is Arch Linux's Linux-to-Win32 build of GCC or arm-wince-gcc which is a cross compiler to WinCE), much like non-cross-compiling delegates to system's compiler.