From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Initial cross-compilation support Date: Sat, 25 May 2013 00:04:35 +0200 Message-ID: <874nds826k.fsf@gnu.org> References: <87txoxv7x9.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:36623) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ug06Y-0000aZ-24 for bug-guix@gnu.org; Fri, 24 May 2013 18:05:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ug06Q-0004wR-Rd for bug-guix@gnu.org; Fri, 24 May 2013 18:04:53 -0400 Received: from [2a01:e0b:1:123:ca0a:a9ff:fe03:271e] (port=35084 helo=xanadu.aquilenet.fr) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ug06Q-0004vG-Lq for bug-guix@gnu.org; Fri, 24 May 2013 18:04:46 -0400 Received: from localhost (localhost [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id D0F8A1BA5 for ; Sat, 25 May 2013 00:04:36 +0200 (CEST) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aD47v9k6n8IY for ; Sat, 25 May 2013 00:04:36 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id 519E11BA3 for ; Sat, 25 May 2013 00:04:36 +0200 (CEST) In-Reply-To: <87txoxv7x9.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Wed, 27 Feb 2013 21:05:54 +0100") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: bug-guix@gnu.org Hello! ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > Commit 827d289 of the =E2=80=98core-updates=E2=80=99 branch adds cross-ba= se.scm, which > builds a cross tool chain. > > So if you type =E2=80=98guix build gcc-cross-mips64el-linux-gnu=E2=80=99,= you get a > cross-compiler (+ libc, binutils) for that platform. The compiler is > slightly modified by this patch: > > http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/gcc= -cross-environment-variables.patch?h=3Dcore-updates&id=3D827d28914a16ef2d10= ebdad4695efdb02ace07fb > > The end goal is to be able to run: > > guix build --target=3Dmips64el-linux-gnu coreutils > > and get a cross-built Coreutils. Here we are! :-) So far I=E2=80=99ve only tested with =E2=80=9Csimple=E2=80=9D cases, namely= GMP/MPFR/MPC, and it all cross-builds correctly for mips64el-linux-gnu (N32). I=E2=80=99ve chan= ged hydra.scm so that Hydra cross-builds a few packages for us. Probably package definitions and perhaps build systems will need to be adjusted to allow cross-compilation of more packages, but the foundations are in place. Comments and bug reports welcome! Ludo=E2=80=99.