Release goal: Cross Toolchains in the Archive
Hooray for deadlines:
https://wiki.debian.org/ReleaseGoals/CrossToolchains
Cross Toolchains in the archive
===============================
Debian has long had useful cross-building support, but has never had
general cross-compilers for release architectures in the archive. They
have always been built by users, or by outside entities like the
long-standing emdebian.org cross-compiler collection.
It would be a lot more convenient for users if cross-toolchains were
available within the archive like any other package.
We already have good support in dpkg, apt and sbuild for
cross-building, and installation of cross build-dependencies. And
support for autotools and cmake cross-setup in dpkg-cross. It just
needs the cross-toolchain packages themselves and some support bit and
pieces to make cross-building very slick in Debian. Much of this work
has already been demonstrated in Ubuntu and it would be good to get it
properly upstream.
The Cross Toolchain team on Alioth was re-invigorated at Debconf13 to
get this work done.
Details
-------
The thing that has kept cross-compilers out for many years is that the
build has cross-architecture dependencies (needs libc:$DEB_HOST_ARCH
and libgcc:$DEB_HOST_HOST). Now that Multi-arch is done this problem
can be cleanly solved. It is possible to build cross-compilers without
multiarch support, as has been demonstrated in Ubuntu but using it
provides cleaner support and simpler packaging.
Implementation
--------------
* The hard parts have already been done in the Multiarch support.
* The cross-toolchain builds should not be part of the normal
binutils and gcc packaging, as the large matrix of builds
(potentially up to the square of all architectures, fortunately many
are not really useful) provides too many opportunities for build
failures which would get in the way of normal gcc and binutils
updates.
* Buildds need to allow cross-architecture dependencies. This was
agreed in a multi-arch meeting at Banja Luka
* Adding a crossbuild-essential package to easily bring in the right
packages is very helpful, but not essential.
* A crossbuild-support package (or similar name) should be made from
the useful parts of dpkg-cross, keeping the autoconf and cmake
variable setup and cache seeding, but dropping the library-munging
functionality.
Resources
--------
Advocates:
Wookey
Doko
Pabs
mailing list: debian-cross@list.debian.org
Wookey
--
Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/
Reply to: