Crosscompilers

Crosscompilers in the archive

One of the notable problems with GCC is that its notoriously difficult for a layman to build a cross-compiler, since the process isn't well documented, its difficult to build everything in the proper other, and in the cases of Ubuntu, build a cross-compiler with the same patches as our toolchain packages and matching kernel headers. With the addition of the embedded ARM port, having cross-compilers available would greatly help in testing and debugging packages.

Use-cases

  • Michael is a embedded developer, he wants to use a cross-compiler to fastly speed up distcc builds on his ARM board
  • Emment wants to have an arch all package (which only build on i386) that requires compilation on PowerPC or SPARC (i.e., QEMU BIOSes)

President

Some cross-compilers are already packaged in the archive, namely binutils-avr, and gcc-avr. These cross-compilers are special because they don't have a hard dependency on a runtime library i.e., glibc, and are fully functional without a matching glibc. We simply need to extend this to linux cross-compilers

Build Process

Building the cross-compilers is a multistep process. In short:

Build in order: cross-binutils cross-gcc-core cross-linux-headers cross-glibc cross-gcc-full

Package Naming

Debian already has a naming scheme for cross packages for packaging converted with dpkg-cross, used for multilib cross-compilation. This is *package name*-cross-*platform*. I recommend we keep this naming scheme. As it stands, GCC and binutils use *package*-*target*. I don't think there is any reason to change this naming scheme.

Toolchain/Crosscompilers (last edited 2008-11-20 23:23:10 by cpe-67-242-219-6)