Archived
1
0
Fork 0

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

* gnu/packages/cross-base.scm (cross-gcc-arguments): Switch to gexps.
This commit is contained in:
Ludovic Courtès 2023-03-26 21:35:03 +02:00
parent 065d766f09
commit bbb849f11f
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -147,9 +147,9 @@ 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
#~(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
@ -160,7 +160,7 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
;; 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 features not needed at this stage.
"--disable-shared" "--enable-static"
"--enable-languages=c,c++"
@ -190,26 +190,26 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
;; Install cross-built libraries such as libgcc_s.so in
;; the "lib" output.
,@(if libc
`((string-append "--with-toolexeclibdir="
#$@(if libc
#~((string-append "--with-toolexeclibdir="
(assoc-ref %outputs "lib")
"/" ,target "/lib"))
'()))
"/" #$target "/lib"))
#~()))
,(if libc
#$(if libc
flags
`(remove (cut string-match "--enable-languages.*" <>)
,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))
#$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."