[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#46725] [PATCH] gnu: guile-lib: Fix cross compilation.
From: |
Ludovic Courtès |
Subject: |
[bug#46725] [PATCH] gnu: guile-lib: Fix cross compilation. |
Date: |
Mon, 08 Mar 2021 15:22:11 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hi,
Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hi!
>>
>> Christopher Baines <mail@cbaines.net> skribis:
>>
>>> These changes were sent upstream as
>>> https://lists.gnu.org/archive/html/guile-devel/2021-02/msg00004.html
>>>
>>> Without this change, the .go files are built for the host architecture,
>>> rather
>>> than the target. I noticed this when cross building the
>>> guix-build-coordinator (for which guile-lib is an input) to the Hurd.
>>>
>>> * gnu/packages/guile-xyz.scm (guile-lib)[arguments]: Add
>>> 'patch-for-cross-compilation phase.
>>> [native-inputs]: Add autoconf, automake and gettext.
>>> (guile2.0-lib): Adjust to use alist-replace.
>>> (guile2.2-lib): Adjust to use alist-replace.
>>
>> [...]
>>
>>> + (substitute* "configure.ac"
>>> + (("GUILE_FLAGS")
>>> + "GUILE_FLAGS
>>> +if test \"$cross_compiling\" != no; then
>>> + GUILE_TARGET=\"--target=$host_alias\"
>>> + AC_SUBST([GUILE_TARGET])
>>> +fi
>>
>> You could even set ‘GUILE_TARGET’ unconditionally.
>
> It seems a conditional is needed, because info
> '(autoconf)Canonicalizing' says:
>
> The variables ‘build_alias’, ‘host_alias’, and ‘target_alias’ are
> always exactly the arguments of ‘--build’, ‘--host’, and ‘--target’; in
> particular, they are left empty if the user did not use them, even if
> the corresponding ‘AC_CANONICAL’ macro was run.
>
> I.e. without the condition '--target=' could be passed to guild, which
> probably wouldn't work.
Ah true. In Guile-{Gcrypt,zlib,…}, ‘--target’ is passed conditionally.
Apologies for the confusion!
> So it seems that nowadays the build, host, and target would take default
> values as guessed by config.guess, and that the earlier section of the
> manual should be updated?
Dunno; but in hindsight, what Chris did seemed right.
Thanks,
Ludo’.