From: "Ludovic Courtès" <ludo@gnu.org>
To: 62307@debbugs.gnu.org
Cc: "Ludovic Courtès" <ludo@gnu.org>
Subject: [bug#62307] [PATCH core-updates v2 02/20] gnu: cross-base: Use gexps for 'cross-gcc-arguments'.
Date: Tue, 28 Mar 2023 16:28:34 +0200 [thread overview]
Message-ID: <20230328142852.26635-3-ludo@gnu.org> (raw)
In-Reply-To: <20230328142852.26635-1-ludo@gnu.org>
* gnu/packages/cross-base.scm (cross-gcc-arguments): Switch to gexps.
---
gnu/packages/cross-base.scm | 104 ++++++++++++++++++------------------
1 file changed, 52 insertions(+), 52 deletions(-)
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index f86e8005c4..adead3206a 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -147,69 +147,69 @@ (define (cross-gcc-arguments target xgcc libc)
,@(package-arguments xgcc))))
(substitute-keyword-arguments args
((#:configure-flags flags)
- `(append (list ,(string-append "--target=" target)
- ,@(if libc
- `( ;; Disable libcilkrts because it is not
- ;; ported to GNU/Hurd.
- "--disable-libcilkrts"
- ;; When building a cross compiler, --with-sysroot is
- ;; implicitly set to "$gcc_tooldir/sys-root". This does
- ;; not work for us, because --with-native-system-header-dir
- ;; is searched for relative to this location. Thus, we set
- ;; it to "/" so GCC is able to find the target libc headers.
- ;; This is safe because in practice GCC uses CROSS_CPATH
- ;; & co to separate target and host libraries.
- "--with-sysroot=/")
- `( ;; Disable features not needed at this stage.
- "--disable-shared" "--enable-static"
- "--enable-languages=c,c++"
+ #~(append (list #$(string-append "--target=" target)
+ #$@(if libc
+ #~( ;; Disable libcilkrts because it is not
+ ;; ported to GNU/Hurd.
+ "--disable-libcilkrts"
+ ;; When building a cross compiler, --with-sysroot is
+ ;; implicitly set to "$gcc_tooldir/sys-root". This does
+ ;; not work for us, because --with-native-system-header-dir
+ ;; is searched for relative to this location. Thus, we set
+ ;; it to "/" so GCC is able to find the target libc headers.
+ ;; This is safe because in practice GCC uses CROSS_CPATH
+ ;; & co to separate target and host libraries.
+ "--with-sysroot=/")
+ #~( ;; Disable features not needed at this stage.
+ "--disable-shared" "--enable-static"
+ "--enable-languages=c,c++"
- ;; libstdc++ cannot be built at this stage
- ;; ("Link tests are not allowed after
- ;; GCC_NO_EXECUTABLES.").
- "--disable-libstdc++-v3"
+ ;; libstdc++ cannot be built at this stage
+ ;; ("Link tests are not allowed after
+ ;; GCC_NO_EXECUTABLES.").
+ "--disable-libstdc++-v3"
- "--disable-threads" ;libgcc, would need libc
- "--disable-libatomic"
- "--disable-libmudflap"
- "--disable-libgomp"
- "--disable-libmpx"
- "--disable-libssp"
- "--disable-libquadmath"
- "--disable-decimal-float" ;would need libc
- "--disable-libcilkrts"
+ "--disable-threads" ;libgcc, would need libc
+ "--disable-libatomic"
+ "--disable-libmudflap"
+ "--disable-libgomp"
+ "--disable-libmpx"
+ "--disable-libssp"
+ "--disable-libquadmath"
+ "--disable-decimal-float" ;would need libc
+ "--disable-libcilkrts"
- ;; When target is any OS other than 'none' these
- ;; libraries will fail if there is no libc
- ;; present. See
- ;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01311.html>
- "--disable-libitm"
- "--disable-libvtv"
- "--disable-libsanitizer"
- ))
+ ;; When target is any OS other than 'none' these
+ ;; libraries will fail if there is no libc
+ ;; present. See
+ ;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01311.html>
+ "--disable-libitm"
+ "--disable-libvtv"
+ "--disable-libsanitizer"
+ ))
- ;; Install cross-built libraries such as libgcc_s.so in
- ;; the "lib" output.
- ,@(if libc
- `((string-append "--with-toolexeclibdir="
- (assoc-ref %outputs "lib")
- "/" ,target "/lib"))
- '()))
+ ;; Install cross-built libraries such as libgcc_s.so in
+ ;; the "lib" output.
+ #$@(if libc
+ #~((string-append "--with-toolexeclibdir="
+ (assoc-ref %outputs "lib")
+ "/" #$target "/lib"))
+ #~()))
- ,(if libc
- flags
- `(remove (cut string-match "--enable-languages.*" <>)
- ,flags))))
+ #$(if libc
+ flags
+ #~(remove (cut string-match "--enable-languages.*" <>)
+ #$flags))))
((#:make-flags flags)
(if libc
- `(let ((libc (assoc-ref %build-inputs "libc")))
+ #~(let ((libc (assoc-ref %build-inputs "libc")))
;; FLAGS_FOR_TARGET are needed for the target libraries to receive
;; the -Bxxx for the startfiles.
- (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
- ,flags))
+ (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
+ #$flags))
flags))
((#:phases phases)
- `(cross-gcc-build-phases ,target ,phases))))))
+ #~(cross-gcc-build-phases #$target #$phases))))))
(define (cross-gcc-patches xgcc target)
"Return GCC patches needed for XGCC and TARGET."
--
2.39.2
next prev parent reply other threads:[~2023-03-28 14:31 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-20 22:07 [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 01/15] gnu: glibc/fix-for-hurd-cross: Add new variant Josselin Poiret via Guix-patches via
2023-03-22 14:54 ` [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 00/20] " Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 01/20] gnu: glibc: Work around broken GNU Mach header detection Ludovic Courtès
2023-03-28 14:28 ` Ludovic Courtès [this message]
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 03/20] gnu: gcc@11: Patch libpthread on GNU/Hurd Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 04/20] gnu: cross-base: Factor out cross-mig Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 05/20] gnu: cross-base: Add cross arguments to hurd derivatives Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 06/20] gnu: cross-base: Removed useless inputs to xhurd-core-headers Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 07/20] gnu: mig: Update to 1.8+git20220827 Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 08/20] gnu: gnumach: " Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 09/20] gnu: hurd: Update to 3ff7053 Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 10/20] gnu: hurd: Remove useless glibc/hurd-headers input Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 11/20] gnu: gnumach, hurd-headers, hurd: Switch to using cross-mig Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 12/20] gnu: hurd: Update DDE and use libdde_linux26 Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 13/20] gnu: mig/32-bit: Remove Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 14/20] system: hurd: Use shepherd-0.8 in the package list Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 15/20] gnu: linux-pam: Switch to gexps Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 16/20] gnu: linux-pam: Allow compilation on GNU/Hurd Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 17/20] gnu: guile-static: Switch to gexps Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 18/20] gnu: guile: " Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 19/20] gnu: guile-readline: " Ludovic Courtès
2023-03-28 14:28 ` [bug#62307] [PATCH core-updates v2 20/20] gnu: guile: Fix 'posix_spawn' usage for GNU/Hurd Ludovic Courtès
2023-03-28 17:07 ` [bug#62307] [PATCH core-updates v2 00/20] Update Hurd and fix build failures Josselin Poiret via Guix-patches via
2023-03-30 10:48 ` bug#62307: " Ludovic Courtès
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 02/15] gnu-build-system: Sneak fixed glibc when cross-building for Hurd Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 03/15] gcc-11: Patch libstdc++ libpthread issue for Hurd only Josselin Poiret via Guix-patches via
2023-03-22 16:28 ` [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Ludovic Courtès
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 04/15] cross-base: Factor out cross-mig Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 05/15] cross-base: Add cross arguments to hurd derivatives Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 06/15] cross-base: Removed useless inputs to xhurd-core-headers Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 07/15] mig: Update to 1.8+git20220827 Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 08/15] gnumach: " Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 09/15] hurd: Update to 91a51672ff4cfe1f1a0712b4c542ded3081c825b Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 10/15] hurd: Remove useless glibc/hurd-headers input Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 11/15] gnumach, hurd-headers, hurd: Switch to using cross-mig Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 11/15] gnumach, " Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 12/15] hurd: Update DDE and use libdde_linux26 Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 13/15] mig/32-bit: Remove Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 14/15] system: hurd: Use shepherd-0.8 in the package list Josselin Poiret via Guix-patches via
2023-03-20 22:10 ` [bug#62307] [PATCH core-updates 15/15] system: pam: Only add linux-pam reference if on Linux Josselin Poiret via Guix-patches via
2023-03-22 16:30 ` [bug#62307] [PATCH core-updates 00/15] Update Hurd and fix build failures Ludovic Courtès
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=20230328142852.26635-3-ludo@gnu.org \
--to=ludo@gnu.org \
--cc=62307@debbugs.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).