mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05: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 p target)
|
|||
|
||||
(define* (cross-binutils target #:optional (binutils binutils))
|
||||
"Return a cross-Binutils for TARGET using BINUTILS."
|
||||
(let ((binutils (package (inherit binutils)
|
||||
(let ((binutils (package
|
||||
(inherit binutils)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments
|
||||
binutils)
|
||||
|
@ -128,71 +129,71 @@ (define (cross-gcc-arguments target xgcc libc)
|
|||
;; for instance.
|
||||
(let ((args `(#:strip-binaries? #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
|
||||
(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++"
|
||||
"--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))))
|
||||
((#:make-flags flags)
|
||||
(if 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))
|
||||
((#:phases phases)
|
||||
`(cross-gcc-build-phases ,target ,phases))))))
|
||||
,(if libc
|
||||
flags
|
||||
`(remove (cut string-match "--enable-languages.*" <>)
|
||||
,flags))))
|
||||
((#:make-flags flags)
|
||||
(if 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))
|
||||
((#:phases phases)
|
||||
`(cross-gcc-build-phases ,target ,phases))))))
|
||||
|
||||
(define (cross-gcc-patches xgcc target)
|
||||
"Return GCC patches needed for XGCC and TARGET."
|
||||
|
@ -203,7 +204,7 @@ (define (cross-gcc-patches xgcc target)
|
|||
(append (search-patches "gcc-4.9.3-mingw-gthr-default.patch")
|
||||
(if (version>=? (package-version xgcc) "7.0")
|
||||
(search-patches "gcc-7-cross-mingw.patch")
|
||||
'())))
|
||||
'())))
|
||||
(else '())))
|
||||
|
||||
(define (cross-gcc-snippet target)
|
||||
|
@ -231,13 +232,15 @@ (define* (cross-gcc target
|
|||
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,
|
||||
target that libc."
|
||||
(package (inherit xgcc)
|
||||
(package
|
||||
(inherit xgcc)
|
||||
(name (string-append "gcc-cross-"
|
||||
(if libc "" "sans-libc-")
|
||||
target))
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source xgcc))
|
||||
(inherit
|
||||
(package-source xgcc))
|
||||
(patches
|
||||
(append
|
||||
(origin-patches (package-source xgcc))
|
||||
|
@ -304,7 +307,7 @@ (define* (cross-gcc target
|
|||
`(,@inputs
|
||||
("libc" ,libc)
|
||||
("libc:static" ,libc "static")
|
||||
("xkernel-headers" ;the target headers
|
||||
("xkernel-headers" ;the target headers
|
||||
,@(assoc-ref (package-propagated-inputs libc)
|
||||
"kernel-headers"))))
|
||||
(else inputs)))))
|
||||
|
@ -338,7 +341,8 @@ (define* (cross-kernel-headers target
|
|||
"Return headers depending on TARGET."
|
||||
|
||||
(define xlinux-headers
|
||||
(package (inherit linux-headers)
|
||||
(package
|
||||
(inherit linux-headers)
|
||||
(name (string-append (package-name linux-headers)
|
||||
"-cross-" target))
|
||||
(arguments
|
||||
|
@ -364,7 +368,8 @@ (define xlinux-headers
|
|||
,@(package-native-inputs linux-headers)))))
|
||||
|
||||
(define xgnumach-headers
|
||||
(package (inherit gnumach-headers)
|
||||
(package
|
||||
(inherit gnumach-headers)
|
||||
(name (string-append (package-name gnumach-headers)
|
||||
"-cross-" target))
|
||||
|
||||
|
@ -373,7 +378,8 @@ (define xgnumach-headers
|
|||
,@(package-native-inputs gnumach-headers)))))
|
||||
|
||||
(define xmig
|
||||
(package (inherit mig)
|
||||
(package
|
||||
(inherit mig)
|
||||
(name (string-append "mig-cross"))
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
|
@ -396,7 +402,8 @@ (define xmig
|
|||
,@(package-native-inputs mig)))))
|
||||
|
||||
(define xhurd-headers
|
||||
(package (inherit hurd-headers)
|
||||
(package
|
||||
(inherit hurd-headers)
|
||||
(name (string-append (package-name hurd-headers)
|
||||
"-cross-" target))
|
||||
|
||||
|
@ -405,8 +412,9 @@ (define xhurd-headers
|
|||
("cross-mig" ,xmig)
|
||||
,@(alist-delete "mig"(package-native-inputs hurd-headers))))))
|
||||
|
||||
(define xglibc/hurd-headers
|
||||
(package (inherit glibc/hurd-headers)
|
||||
(define xglibc/hurd-headers
|
||||
(package
|
||||
(inherit glibc/hurd-headers)
|
||||
(name (string-append (package-name glibc/hurd-headers)
|
||||
"-cross-" target))
|
||||
|
||||
|
@ -437,15 +445,16 @@ (define xglibc/hurd-headers
|
|||
,@(alist-delete "mig"(package-native-inputs glibc/hurd-headers))))))
|
||||
|
||||
(define xhurd-minimal
|
||||
(package (inherit hurd-minimal)
|
||||
(package
|
||||
(inherit hurd-minimal)
|
||||
(name (string-append (package-name hurd-minimal)
|
||||
"-cross-" target))
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
,@(package-arguments hurd-minimal))
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
,@(package-arguments hurd-minimal))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-before 'configure 'set-cross-headers-path
|
||||
|
@ -464,7 +473,8 @@ (define xhurd-minimal
|
|||
,@(alist-delete "mig"(package-native-inputs hurd-minimal))))))
|
||||
|
||||
(define xhurd-core-headers
|
||||
(package (inherit hurd-core-headers)
|
||||
(package
|
||||
(inherit hurd-core-headers)
|
||||
(name (string-append (package-name hurd-core-headers)
|
||||
"-cross-" target))
|
||||
|
||||
|
@ -551,7 +561,7 @@ (define* (cross-libc target
|
|||
,@(assoc-ref (package-native-inputs xheaders)
|
||||
"cross-mig")))
|
||||
'())
|
||||
,@(package-inputs libc) ;FIXME: static-bash
|
||||
,@(package-inputs libc) ;FIXME: static-bash
|
||||
,@(package-native-inputs libc))))))
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue