mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-02-07 19:39:34 +01:00
gnu: cross-base: Fix some indentation problems.
* gnu/packages/cross-base.scm (cross-binutils): Fix indentation. (cross-kernel-headers): Align 'inherit' fields of nested package variables. (cross-gcc): Fix indentation.
This commit is contained in:
parent
234190df00
commit
d4c2ea9226
1 changed files with 86 additions and 76 deletions
|
@ -76,7 +76,8 @@
|
||||||
|
|
||||||
(define* (cross-binutils target #:optional (binutils binutils))
|
(define* (cross-binutils target #:optional (binutils binutils))
|
||||||
"Return a cross-Binutils for TARGET using BINUTILS."
|
"Return a cross-Binutils for TARGET using BINUTILS."
|
||||||
(let ((binutils (package (inherit binutils)
|
(let ((binutils (package
|
||||||
|
(inherit binutils)
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments
|
(substitute-keyword-arguments (package-arguments
|
||||||
binutils)
|
binutils)
|
||||||
|
@ -128,71 +129,71 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
|
||||||
;; for instance.
|
;; for instance.
|
||||||
(let ((args `(#:strip-binaries? #f
|
(let ((args `(#:strip-binaries? #f
|
||||||
,@(package-arguments xgcc))))
|
,@(package-arguments xgcc))))
|
||||||
(substitute-keyword-arguments args
|
(substitute-keyword-arguments args
|
||||||
((#:configure-flags flags)
|
((#:configure-flags flags)
|
||||||
`(append (list ,(string-append "--target=" target)
|
`(append (list ,(string-append "--target=" target)
|
||||||
,@(if libc
|
,@(if libc
|
||||||
`( ;; Disable libcilkrts because it is not
|
`( ;; Disable libcilkrts because it is not
|
||||||
;; ported to GNU/Hurd.
|
;; ported to GNU/Hurd.
|
||||||
"--disable-libcilkrts"
|
"--disable-libcilkrts"
|
||||||
;; When building a cross compiler, --with-sysroot is
|
;; When building a cross compiler, --with-sysroot is
|
||||||
;; implicitly set to "$gcc_tooldir/sys-root". This does
|
;; implicitly set to "$gcc_tooldir/sys-root". This does
|
||||||
;; not work for us, because --with-native-system-header-dir
|
;; not work for us, because --with-native-system-header-dir
|
||||||
;; is searched for relative to this location. Thus, we set
|
;; is searched for relative to this location. Thus, we set
|
||||||
;; it to "/" so GCC is able to find the target libc headers.
|
;; it to "/" so GCC is able to find the target libc headers.
|
||||||
;; This is safe because in practice GCC uses CROSS_CPATH
|
;; This is safe because in practice GCC uses CROSS_CPATH
|
||||||
;; & co to separate target and host libraries.
|
;; & co to separate target and host libraries.
|
||||||
"--with-sysroot=/")
|
"--with-sysroot=/")
|
||||||
`( ;; Disable features not needed at this stage.
|
`( ;; Disable features not needed at this stage.
|
||||||
"--disable-shared" "--enable-static"
|
"--disable-shared" "--enable-static"
|
||||||
"--enable-languages=c,c++"
|
"--enable-languages=c,c++"
|
||||||
|
|
||||||
;; libstdc++ cannot be built at this stage
|
;; libstdc++ cannot be built at this stage
|
||||||
;; ("Link tests are not allowed after
|
;; ("Link tests are not allowed after
|
||||||
;; GCC_NO_EXECUTABLES.").
|
;; GCC_NO_EXECUTABLES.").
|
||||||
"--disable-libstdc++-v3"
|
"--disable-libstdc++-v3"
|
||||||
|
|
||||||
"--disable-threads" ;libgcc, would need libc
|
"--disable-threads" ;libgcc, would need libc
|
||||||
"--disable-libatomic"
|
"--disable-libatomic"
|
||||||
"--disable-libmudflap"
|
"--disable-libmudflap"
|
||||||
"--disable-libgomp"
|
"--disable-libgomp"
|
||||||
"--disable-libmpx"
|
"--disable-libmpx"
|
||||||
"--disable-libssp"
|
"--disable-libssp"
|
||||||
"--disable-libquadmath"
|
"--disable-libquadmath"
|
||||||
"--disable-decimal-float" ;would need libc
|
"--disable-decimal-float" ;would need libc
|
||||||
"--disable-libcilkrts"
|
"--disable-libcilkrts"
|
||||||
|
|
||||||
;; When target is any OS other than 'none' these
|
;; When target is any OS other than 'none' these
|
||||||
;; libraries will fail if there is no libc
|
;; libraries will fail if there is no libc
|
||||||
;; present. See
|
;; present. See
|
||||||
;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01311.html>
|
;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01311.html>
|
||||||
"--disable-libitm"
|
"--disable-libitm"
|
||||||
"--disable-libvtv"
|
"--disable-libvtv"
|
||||||
"--disable-libsanitizer"
|
"--disable-libsanitizer"
|
||||||
))
|
))
|
||||||
|
|
||||||
;; Install cross-built libraries such as libgcc_s.so in
|
;; Install cross-built libraries such as libgcc_s.so in
|
||||||
;; the "lib" output.
|
;; the "lib" output.
|
||||||
,@(if libc
|
,@(if libc
|
||||||
`((string-append "--with-toolexeclibdir="
|
`((string-append "--with-toolexeclibdir="
|
||||||
(assoc-ref %outputs "lib")
|
(assoc-ref %outputs "lib")
|
||||||
"/" ,target "/lib"))
|
"/" ,target "/lib"))
|
||||||
'()))
|
'()))
|
||||||
|
|
||||||
,(if libc
|
,(if libc
|
||||||
flags
|
flags
|
||||||
`(remove (cut string-match "--enable-languages.*" <>)
|
`(remove (cut string-match "--enable-languages.*" <>)
|
||||||
,flags))))
|
,flags))))
|
||||||
((#:make-flags flags)
|
((#:make-flags flags)
|
||||||
(if libc
|
(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
|
;; FLAGS_FOR_TARGET are needed for the target libraries to receive
|
||||||
;; the -Bxxx for the startfiles.
|
;; the -Bxxx for the startfiles.
|
||||||
(cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
|
(cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
|
||||||
,flags))
|
,flags))
|
||||||
flags))
|
flags))
|
||||||
((#:phases phases)
|
((#:phases phases)
|
||||||
`(cross-gcc-build-phases ,target ,phases))))))
|
`(cross-gcc-build-phases ,target ,phases))))))
|
||||||
|
|
||||||
(define (cross-gcc-patches xgcc target)
|
(define (cross-gcc-patches xgcc target)
|
||||||
"Return GCC patches needed for XGCC and TARGET."
|
"Return GCC patches needed for XGCC and TARGET."
|
||||||
|
@ -203,7 +204,7 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
|
||||||
(append (search-patches "gcc-4.9.3-mingw-gthr-default.patch")
|
(append (search-patches "gcc-4.9.3-mingw-gthr-default.patch")
|
||||||
(if (version>=? (package-version xgcc) "7.0")
|
(if (version>=? (package-version xgcc) "7.0")
|
||||||
(search-patches "gcc-7-cross-mingw.patch")
|
(search-patches "gcc-7-cross-mingw.patch")
|
||||||
'())))
|
'())))
|
||||||
(else '())))
|
(else '())))
|
||||||
|
|
||||||
(define (cross-gcc-snippet target)
|
(define (cross-gcc-snippet target)
|
||||||
|
@ -231,13 +232,15 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
|
||||||
XGCC as the base compiler. Use XBINUTILS as the associated cross-Binutils.
|
XGCC as the base compiler. Use XBINUTILS as the associated cross-Binutils.
|
||||||
If LIBC is false, then build a GCC that does not target a libc; otherwise,
|
If LIBC is false, then build a GCC that does not target a libc; otherwise,
|
||||||
target that libc."
|
target that libc."
|
||||||
(package (inherit xgcc)
|
(package
|
||||||
|
(inherit xgcc)
|
||||||
(name (string-append "gcc-cross-"
|
(name (string-append "gcc-cross-"
|
||||||
(if libc "" "sans-libc-")
|
(if libc "" "sans-libc-")
|
||||||
target))
|
target))
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(inherit (package-source xgcc))
|
(inherit
|
||||||
|
(package-source xgcc))
|
||||||
(patches
|
(patches
|
||||||
(append
|
(append
|
||||||
(origin-patches (package-source xgcc))
|
(origin-patches (package-source xgcc))
|
||||||
|
@ -304,7 +307,7 @@ target that libc."
|
||||||
`(,@inputs
|
`(,@inputs
|
||||||
("libc" ,libc)
|
("libc" ,libc)
|
||||||
("libc:static" ,libc "static")
|
("libc:static" ,libc "static")
|
||||||
("xkernel-headers" ;the target headers
|
("xkernel-headers" ;the target headers
|
||||||
,@(assoc-ref (package-propagated-inputs libc)
|
,@(assoc-ref (package-propagated-inputs libc)
|
||||||
"kernel-headers"))))
|
"kernel-headers"))))
|
||||||
(else inputs)))))
|
(else inputs)))))
|
||||||
|
@ -338,7 +341,8 @@ target that libc."
|
||||||
"Return headers depending on TARGET."
|
"Return headers depending on TARGET."
|
||||||
|
|
||||||
(define xlinux-headers
|
(define xlinux-headers
|
||||||
(package (inherit linux-headers)
|
(package
|
||||||
|
(inherit linux-headers)
|
||||||
(name (string-append (package-name linux-headers)
|
(name (string-append (package-name linux-headers)
|
||||||
"-cross-" target))
|
"-cross-" target))
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -364,7 +368,8 @@ target that libc."
|
||||||
,@(package-native-inputs linux-headers)))))
|
,@(package-native-inputs linux-headers)))))
|
||||||
|
|
||||||
(define xgnumach-headers
|
(define xgnumach-headers
|
||||||
(package (inherit gnumach-headers)
|
(package
|
||||||
|
(inherit gnumach-headers)
|
||||||
(name (string-append (package-name gnumach-headers)
|
(name (string-append (package-name gnumach-headers)
|
||||||
"-cross-" target))
|
"-cross-" target))
|
||||||
|
|
||||||
|
@ -373,7 +378,8 @@ target that libc."
|
||||||
,@(package-native-inputs gnumach-headers)))))
|
,@(package-native-inputs gnumach-headers)))))
|
||||||
|
|
||||||
(define xmig
|
(define xmig
|
||||||
(package (inherit mig)
|
(package
|
||||||
|
(inherit mig)
|
||||||
(name (string-append "mig-cross"))
|
(name (string-append "mig-cross"))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:modules ((guix build gnu-build-system)
|
`(#:modules ((guix build gnu-build-system)
|
||||||
|
@ -396,7 +402,8 @@ target that libc."
|
||||||
,@(package-native-inputs mig)))))
|
,@(package-native-inputs mig)))))
|
||||||
|
|
||||||
(define xhurd-headers
|
(define xhurd-headers
|
||||||
(package (inherit hurd-headers)
|
(package
|
||||||
|
(inherit hurd-headers)
|
||||||
(name (string-append (package-name hurd-headers)
|
(name (string-append (package-name hurd-headers)
|
||||||
"-cross-" target))
|
"-cross-" target))
|
||||||
|
|
||||||
|
@ -405,8 +412,9 @@ target that libc."
|
||||||
("cross-mig" ,xmig)
|
("cross-mig" ,xmig)
|
||||||
,@(alist-delete "mig"(package-native-inputs hurd-headers))))))
|
,@(alist-delete "mig"(package-native-inputs hurd-headers))))))
|
||||||
|
|
||||||
(define xglibc/hurd-headers
|
(define xglibc/hurd-headers
|
||||||
(package (inherit glibc/hurd-headers)
|
(package
|
||||||
|
(inherit glibc/hurd-headers)
|
||||||
(name (string-append (package-name glibc/hurd-headers)
|
(name (string-append (package-name glibc/hurd-headers)
|
||||||
"-cross-" target))
|
"-cross-" target))
|
||||||
|
|
||||||
|
@ -437,15 +445,16 @@ target that libc."
|
||||||
,@(alist-delete "mig"(package-native-inputs glibc/hurd-headers))))))
|
,@(alist-delete "mig"(package-native-inputs glibc/hurd-headers))))))
|
||||||
|
|
||||||
(define xhurd-minimal
|
(define xhurd-minimal
|
||||||
(package (inherit hurd-minimal)
|
(package
|
||||||
|
(inherit hurd-minimal)
|
||||||
(name (string-append (package-name hurd-minimal)
|
(name (string-append (package-name hurd-minimal)
|
||||||
"-cross-" target))
|
"-cross-" target))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments
|
(substitute-keyword-arguments
|
||||||
`(#:modules ((guix build gnu-build-system)
|
`(#:modules ((guix build gnu-build-system)
|
||||||
(guix build utils)
|
(guix build utils)
|
||||||
(srfi srfi-26))
|
(srfi srfi-26))
|
||||||
,@(package-arguments hurd-minimal))
|
,@(package-arguments hurd-minimal))
|
||||||
((#:phases phases)
|
((#:phases phases)
|
||||||
`(modify-phases ,phases
|
`(modify-phases ,phases
|
||||||
(add-before 'configure 'set-cross-headers-path
|
(add-before 'configure 'set-cross-headers-path
|
||||||
|
@ -464,7 +473,8 @@ target that libc."
|
||||||
,@(alist-delete "mig"(package-native-inputs hurd-minimal))))))
|
,@(alist-delete "mig"(package-native-inputs hurd-minimal))))))
|
||||||
|
|
||||||
(define xhurd-core-headers
|
(define xhurd-core-headers
|
||||||
(package (inherit hurd-core-headers)
|
(package
|
||||||
|
(inherit hurd-core-headers)
|
||||||
(name (string-append (package-name hurd-core-headers)
|
(name (string-append (package-name hurd-core-headers)
|
||||||
"-cross-" target))
|
"-cross-" target))
|
||||||
|
|
||||||
|
@ -551,7 +561,7 @@ and the cross tool chain."
|
||||||
,@(assoc-ref (package-native-inputs xheaders)
|
,@(assoc-ref (package-native-inputs xheaders)
|
||||||
"cross-mig")))
|
"cross-mig")))
|
||||||
'())
|
'())
|
||||||
,@(package-inputs libc) ;FIXME: static-bash
|
,@(package-inputs libc) ;FIXME: static-bash
|
||||||
,@(package-native-inputs libc))))))
|
,@(package-native-inputs libc))))))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue