From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Nieuwenhuizen Subject: Re: MinGW cross-compilation support Date: Wed, 07 Dec 2016 15:09:00 +0100 Message-ID: <87y3zrde6b.fsf@gnu.org> 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: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51336) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cEcuW-0001Um-Cc for guix-devel@gnu.org; Wed, 07 Dec 2016 09:09:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cEcuV-00075f-BS for guix-devel@gnu.org; Wed, 07 Dec 2016 09:09:28 -0500 In-Reply-To: <87wpfc9j3d.fsf_-_@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\?\= \=\?utf-8\?Q\?\=22's\?\= message of "Wed, 07 Dec 2016 10:36:22 +0100") 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: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org Ludovic Court=C3=A8s writes: > After all this time I=E2=80=99m happy to report that I=E2=80=99ve finally= merged MinGW > cross-compilation support, woohoo! Yay, thanks Ludovic, Manolis and Mark!!! > Hydra will build the cross-compilation toolchain and some example > packages. Great! > I didn=E2=80=99t merge the cross-libtool patch and this one: > > Jan Nieuwenhuizen skribis: > >> * gnu/packages/ncurses.scm (ncurses)[MINGW]: Build with libtool, as >> recommended; enables dlopen'ing. > > I=E2=80=99m not sure what this means (and the explanation should be as a = comment > in the code). Could you explain a bit more? The ncurses README.MinGW says I recommend using libtool to build ncurses on MinGW, because libtool knows exactly how to build dll's on Windows for use with MinGW. and if you use libtool, it will generate .la files that are necessary to dlopen the DLLs. > The idea of Libtool is normally to bundle it in the package tarball. > That ncurses can optionally take an externally-provided Libtool is weird > and I=E2=80=99d rather avoid relying on that if possible. I agree; this is quite a trick silly setup, esp. using cross builds. I thought there was a better reason for doing this; that it was needed to build readline or use readline from guile.exe...I can't remember; we'll find out. > Adding a new cross-compilation target is a commitment. So I hope you > and others will make sure it remains functional and useful! Yes. There are two things I want to do next. I have another 10 patches bitrotting around that enable cross building LilyPond. I want to clean them up and merge them one by one. Also I'd like to look into deploying guile.exe on Wine/Windows; maybe this should be a first. I could do with some ideas here. Create packages that can be installed/unpacked, or port some minimal part of guix so that it can fetch and install binaries from the store? > I also think that together with Manolis and everyone else who=E2=80=99s p= layed > 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). That would be nice! Greetings, Jan --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.nl= =20=20