guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/21: gnu: cross-base: Use gexps for 'cross-gcc-arguments'.


From: guix-commits
Subject: 02/21: gnu: cross-base: Use gexps for 'cross-gcc-arguments'.
Date: Thu, 30 Mar 2023 06:46:59 -0400 (EDT)

civodul pushed a commit to branch core-updates
in repository guix.

commit bbb849f11f39d5455aa253d6e8e55e98382690c9
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sun Mar 26 21:35:03 2023 +0200

    gnu: cross-base: Use gexps for 'cross-gcc-arguments'.
    
    * gnu/packages/cross-base.scm (cross-gcc-arguments): Switch to gexps.
---
 gnu/packages/cross-base.scm | 114 ++++++++++++++++++++++----------------------
 1 file 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."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]