x86_64 is used as a baseline: the "x86_64" entry, whatever status it has,
is transformed into "all", and then the other entries in ARCHITECTURES
either dropped or rearranged appropriately.
* Referring the current haiku version explicitly is not needed, since
the RequiresUpdater takes care of setting the version of Haiku used
for building a package.
Use the gcc sources from the official gcc arm-embedded branch instead of
the Haiku branch. These include patches adding support for complex
multilib setups for ARM, so the toolchain can now target armv6, and armv7
m/ar/em.
Enable said option so we get a multilib toolchain.
This also means we get gcc 4.8.4 instead of 4.8.2.
Bump revision of newlib since it was also rebuilt with multilib
support.
* The gcc_nolibc compiler is built first, it doesn't come with a C
library
* This compiler is then used to build the newlibc
* Finally, gcc is built again (the final version of the package) using
the newly built newlibc.
Also fix some paths so everything gets installed in
system/develop/tools/arm-none-eabi. This is the simplest way to go so
this particular gcc finds the includes there, without any risk of mixing
them up with actual includes for Haiku.
* Add sysroot support to the binutils
* Add a "nolibc" version of gcc, used only to build the newlib
* Add newlib recipe
* Fix "main" gcc recipe to depend on the built newlib and set the
sysroot and default include search path properly.
This recipe set can now be derived to build bare-metal cross compilers for
any other CPU supported by gcc, binutils and newlib.