[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cross-build-essential



+++ Wookey [2012-01-19 14:32 +0000]:
> +++ Neil Williams [2012-01-19 13:02 +0000]:
> > On Thu, 19 Jan 2012 12:10:28 +0000
> > Wookey <wookey@wookware.org> wrote:
> > 
> > > I've thought for a long time that a package like build-essential for
> > > cross-building would be a really good idea. 
> > 
> > +1
> > 
> > It should probably depend on build-essential itself as a starting point.
> 
> I suppose so. You won't get far without that.

OK, there has been progress in this area. Thanks to Patrick McDermmot
(GSOC student) we have a patch to add support to build-essential for a
crossbuild-essential-<arch> packages.

http://odin1.pehjota.net/~pj/debian-bootstrap/build-essential/

The initial patches there add crossbuild-essential packages to the
build-essential source, which is easy to do but leads to some questions.

1) Some of the packages that cross-build-essential depends on (cross-compiler
packages) are not yet in the archive, and won't be in wheezy. That
means that these packages will not be installable and thus will not
migrate from unstable until the cross-compiler packages do arrive.

That seems like a very good reason to keep cross-build-essential as a
separate source package for now, available from emdebian.org, along
with the toolchains. Anyone disagree?

2) Is the build-essential maintainer happy to include this code once
the resulting packages _are_ installable? Or in the same way that he
(doko) likes to keep the cross-toolchains separate should we keep them
separate for the forseeable future? 

Does that change once everything is built in the archive?

Is the maintainer happy with the implementation above? It uses the
existing machinery of build-essential to be compatible but is still
somewhat intrusive. 


A bit of background here for those who aren't following all the details:

We are working towards having cross-compilers in the archive. The plan
is for those toolchains to use multiarch so that the existing
libc:<arch> linux-libc-dev:<arch> libgcc1:<arch> etc packages in the
archive are used by the cross-toolchains, rather than being rebuilt
and renamed as foo-cross packages (where practical).

Prototypes of those packages for i386 and amd64 are now available at: 
http://emdebian.org/~thibg/repo/

You can't install them without having the modified dpkg (also in that
repo) which allows depends:<arch> (i.e a specific arch) syntax. 

We are hopeful that that dpkg change will just scrape into wheezy so
that these toolchains will be easily usable without having to have a
nobbled dpkg to hand.

This work, combined with sbuild's already-in-wheezy config to set up
multiarch and install crossbuild-essential-<arch>, and the forthcoming
<triplet>-pkg-config packages, should make for painless cross-building
(modulo suitable multiarch metadata in packages and packages that are
actually capble of being cross-built). 

I'll give a more complete summary of current state at debconf.

Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


Reply to: