diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-07-19 00:15:44 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-07-19 00:15:44 +0200 |
commit | aa27987f71cb8afa698ede551e20b1248f160113 (patch) | |
tree | ed6f3cc1e79aa849db010f21debccde09a04f9e4 /gnu | |
parent | 2e839545c7f363b50ae760c9b9c15da9e7619da9 (diff) | |
download | guix-aa27987f71cb8afa698ede551e20b1248f160113.tar.gz |
gnu: cross-base: Distinguish cross Linux headers from native headers.
Commit c6d33a9 provided an incorrect fix, whereby the "linux-headers" key would be used twice in %BUILD-INPUTS and the 'set-cross-path' phase would refer to the first one of them, which happened to be the native headers, and not the target headers. This patch solves the problem by removing the ambiguity. * gnu/packages/cross-base.scm (cross-gcc-arguments)[set-cross-path]: Remove to "xlinux-headers" instead of "linux-headers". (cross-gcc): When LIBC is true, add explicit "xlinux-headers" input, taken from LIBC's propagated inputs.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/cross-base.scm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 712aa9d585..eda44cea41 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -165,7 +165,7 @@ may be either a libc package or #f.)" ;; Add the cross Linux headers to CROSS_CPATH, and remove them ;; from CPATH. (let ((libc (assoc-ref inputs "libc")) - (linux (assoc-ref inputs "linux-headers"))) + (linux (assoc-ref inputs "xlinux-headers"))) (define (cross? x) ;; Return #t if X is a cross-libc or cross Linux. (or (string-prefix? libc x) @@ -244,6 +244,9 @@ GCC that does not target a libc; otherwise, target that libc." (alist-delete "libc" %final-inputs)))) (if libc `(("libc" ,libc) + ("xlinux-headers" ;the target headers + ,@(assoc-ref (package-propagated-inputs libc) + "linux-headers")) ,@inputs) inputs)))) |