From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manolis Ragkousis Subject: Re: MinGW cross-compilation support Date: Wed, 7 Dec 2016 12:53:05 +0200 Message-ID: <2de6f72c-1e73-50b5-a87a-a2bd12485cbc@gmail.com> References: <20160818060851.2853-1-janneke@gnu.org> <20160818060851.2853-11-janneke@gnu.org> <87wpfc9j3d.fsf_-_@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41601) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cEZra-00058X-15 for guix-devel@gnu.org; Wed, 07 Dec 2016 05:54:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cEZrW-0007hT-19 for guix-devel@gnu.org; Wed, 07 Dec 2016 05:54:14 -0500 In-Reply-To: <87wpfc9j3d.fsf_-_@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: =?UTF-8?Q?Ludovic_Court=c3=a8s?= , Jan Nieuwenhuizen Cc: guix-devel@gnu.org Hello everyone, On 12/07/16 11:36, Ludovic Courtès wrote: > Hello Guix! > > After all this time I’m happy to report that I’ve finally merged MinGW > cross-compilation support, woohoo! > > So we should now be able to do: > > guix build --target=i686-w64-mingw32 guile > > to cross-compile Guile to MinGW. > > Hydra will build the cross-compilation toolchain and some example > packages. Yay! Well done! > > Adding a new cross-compilation target is a commitment. So I hope you > and others will make sure it remains functional and useful! > > I also think that together with Manolis and everyone else who’s played > with cross-compilation, we must clean up the mess that this has become. > ;-) Namely, we must more clearly separate target-specific things and > also separate build-side from host-side code (in cross-base.scm). You are right, now and then cross-compilation breaks with no apparent reason as the code gets bigger and more complex (especially after adding non-Linux targets). I was thinking that maybe we need to abstract and remove all the target specific from cross-base.scm into new files. I haven't thought about the actual implementation yet, but it could be something like what I did with (cross-kernel-headers ...), which simplifies how (cross-libc ...) chooses which headers to use. Everyone please share any ideas you have :-) Manolis