unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Jan Nieuwenhuizen <janneke@gnu.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: MinGW cross-compilation support
Date: Wed, 07 Dec 2016 15:09:00 +0100	[thread overview]
Message-ID: <87y3zrde6b.fsf@gnu.org> (raw)
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")

Ludovic Courtès writes:

> After all this time I’m happy to report that I’ve 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’t merge the cross-libtool patch and this one:
>
> Jan Nieuwenhuizen <janneke@gnu.org> skribis:
>
>> * gnu/packages/ncurses.scm (ncurses)[MINGW]: Build with libtool, as
>> recommended; enables dlopen'ing.
>
> I’m 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’d 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’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).

That would be nice!
Greetings,
Jan

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  

  parent reply	other threads:[~2016-12-07 14:09 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-18  6:08 MinGW guile.exe cross build patch series v10 Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 01/12] gnu: Add gcc-cross-x86_64 packages for testing Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 02/12] gnu: Add mingw-w64 Jan Nieuwenhuizen
2016-08-18  7:42   ` Alex Kost
2016-08-18  9:48     ` Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 03/12] gnu: cross-build: i686-w64-mingw32: new cross target Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 04/12] gnu: Add function libiconv-if-needed Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 05/12] gnu: libunistring: support mingw: propagate libiconv if needed Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 06/12] gnu: gmp: build shared library for mingw Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 07/12] gnu: ncurses: support mingw Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 08/12] gnu: cross-base: Add cross-libtool Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 09/12] gnu: libtool: support cross-libtool mingw Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 10/12] gnu: ncurses: build mingw with libtool Jan Nieuwenhuizen
2016-12-07  9:36   ` MinGW cross-compilation support Ludovic Courtès
2016-12-07 10:53     ` Manolis Ragkousis
2016-12-07 21:34       ` Ludovic Courtès
2016-12-07 11:17     ` Chris Marusich
2016-12-07 14:09     ` Jan Nieuwenhuizen [this message]
2016-12-07 21:39       ` Ludovic Courtès
2016-08-18  6:08 ` [PATCH 11/12] gnu: readline: support mingw Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 12/12] gnu: guile-2.0: " Jan Nieuwenhuizen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y3zrde6b.fsf@gnu.org \
    --to=janneke@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).