From: Maxime Devos <maximedevos@telenet.be>
To: Hartmut Goebel <h.goebel@crazy-compilers.com>, 54820@debbugs.gnu.org
Subject: bug#54820: build-systems: inconsistent use of standard-packages
Date: Sat, 09 Apr 2022 19:52:48 +0200 [thread overview]
Message-ID: <27c029b24af9da1871ad95d1fbfd1dec86a4e9d2.camel@telenet.be> (raw)
In-Reply-To: <73a4b99c-23db-ac72-2a09-1c454dc1b3e5@crazy-compilers.com>
[-- Attachment #1: Type: text/plain, Size: 2534 bytes --]
Hartmut Goebel schreef op za 09-04-2022 om 18:24 [+0200]:
> Build-systems are adding „@(standard-packages)“ inconsistently to
> „host-packages“ or „build-packages”. For one developing a new
> build-system it is not clear which is the correct form.
>
> Some (e.g. texlive, ruby, python) add it to „host-inputs“)
FWIW, the latest version of <https://issues.guix.gnu.org/54471>
corrects it for font-build-system.
> [...]
> Some add it to „build-inputs (e.g. gnu, cmake, qt):
> [...]
The reason in cross-compilation support:
* host-inputs ≈ inputs
* build-inputs ≈ native-inputs
There's also this comment from (guix build-system)
;; Here we use build/host/target in the sense of the GNU tool chain (info
;; "(autoconf) Specifying Target Triplets").
(build-inputs bag-build-inputs ;list of packages
(default '()))
(host-inputs bag-host-inputs ;list of packages
(default '()))
And (autoconf)Specifying Target Triplets:
'--build=BUILD-TYPE'
the type of system on which the package is being configured and
compiled. It defaults to the result of running 'config.guess'.
Specifying a BUILD-TYPE that differs from HOST-TYPE enables
cross-compilation mode.
'--host=HOST-TYPE'
the type of system on which the package runs. By default it is the
same as the build machine. Specifying a HOST-TYPE that differs
from BUILD-TYPE, when BUILD-TYPE was also explicitly specified,
enables cross-compilation mode.
(standard-packages) contains a tar, gzip, awk ... which are typically only
needed as native-inputs, so they go in 'build-inputs'.
There's also the complication that the cross-compilation system of glibc
is apparently different from other packages:
;; The cross-libc is really a target package, but for bootstrapping
;; reasons, we can't put it in 'host-inputs'. Namely, 'cross-gcc' is a
;; native package, so it would end up using a "native" variant of
;; 'cross-libc' (built with 'gnu-build'), whereas all the other packages
;; would use a target variant (built with 'gnu-cross-build'.)
(target-inputs (if (and target implicit-cross-inputs?)
(standard-cross-packages target 'target)
'()))
Also, (standard-packages) only contains a non-cross-compiling gcc, so
(standard-cross-packages) (used when cross-compiling) adds a cross-compiling
gcc.
Greetings,
Maxime.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
prev parent reply other threads:[~2022-04-09 17:53 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-09 16:24 bug#54820: build-systems: inconsistent use of standard-packages Hartmut Goebel
2022-04-09 17:52 ` Maxime Devos [this message]
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=27c029b24af9da1871ad95d1fbfd1dec86a4e9d2.camel@telenet.be \
--to=maximedevos@telenet.be \
--cc=54820@debbugs.gnu.org \
--cc=h.goebel@crazy-compilers.com \
/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).