summaryrefslogtreecommitdiff
path: root/gnu/packages/cross-base.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-03-26 21:35:03 +0200
committerLudovic Courtès <ludo@gnu.org>2023-03-30 12:44:18 +0200
commitbbb849f11f39d5455aa253d6e8e55e98382690c9 (patch)
treedb39a161d52bf85a2f22a73be0f5db4a86ca110d /gnu/packages/cross-base.scm
parent065d766f09b4163b9c016583fbdfb9291a039439 (diff)
gnu: cross-base: Use gexps for 'cross-gcc-arguments'.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Switch to gexps.
Diffstat (limited to 'gnu/packages/cross-base.scm')
-rw-r--r--gnu/packages/cross-base.scm114
1 files changed, 57 insertions, 57 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 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
,@(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++"
-
- ;; 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"
-
- ;; 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"))
- '()))
-
- ,(if libc
- flags
- `(remove (cut string-match "--enable-languages.*" <>)
- ,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++"
+
+ ;; 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"
+
+ ;; 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"))
+ #~()))
+
+ #$(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."