gnu: cross-gcc: Handle target include paths.
* gnu/packages/cross-base.scm (cross-gcc-search-paths): New procedure. (cross-gcc)[search-paths]: Convert to and use cross-gcc-search-paths procedure. Change-Id: Id306782eaf928d05cd005b9539087ed631506b5b Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
parent
9095e10620
commit
f49ccd9cef
|
@ -249,6 +249,31 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
|
||||||
"-DTOOLDIR_BASE_PREFIX=\\\"../../../../\\\""))
|
"-DTOOLDIR_BASE_PREFIX=\\\"../../../../\\\""))
|
||||||
#t))
|
#t))
|
||||||
|
|
||||||
|
(define (cross-gcc-search-paths target)
|
||||||
|
"Return list of GCC search path specifications needed for TARGET."
|
||||||
|
(cons (search-path-specification
|
||||||
|
(variable "CROSS_LIBRARY_PATH")
|
||||||
|
(files `("lib" "lib64"
|
||||||
|
,@(list (string-append target "/lib")
|
||||||
|
(string-append target "/lib64")))))
|
||||||
|
|
||||||
|
(map (lambda (variable)
|
||||||
|
(search-path-specification
|
||||||
|
(variable variable)
|
||||||
|
|
||||||
|
;; Add 'include/c++' here so that <cstdlib>'s
|
||||||
|
;; "#include_next <stdlib.h>" finds GCC's
|
||||||
|
;; <stdlib.h>, not libc's.
|
||||||
|
(files (match variable
|
||||||
|
("CROSS_CPLUS_INCLUDE_PATH"
|
||||||
|
`("include/c++" "include"
|
||||||
|
,@(list (string-append target "/include/c++")
|
||||||
|
(string-append target "/include"))))
|
||||||
|
(_
|
||||||
|
`("include"
|
||||||
|
,(string-append target "/include")))))))
|
||||||
|
%gcc-cross-include-paths)))
|
||||||
|
|
||||||
(define* (cross-gcc target
|
(define* (cross-gcc target
|
||||||
#:key
|
#:key
|
||||||
(xgcc %xgcc)
|
(xgcc %xgcc)
|
||||||
|
@ -341,22 +366,7 @@ target that libc."
|
||||||
(inputs '())
|
(inputs '())
|
||||||
|
|
||||||
;; Only search target inputs, not host inputs.
|
;; Only search target inputs, not host inputs.
|
||||||
(search-paths (cons (search-path-specification
|
(search-paths (cross-gcc-search-paths target))
|
||||||
(variable "CROSS_LIBRARY_PATH")
|
|
||||||
(files '("lib" "lib64")))
|
|
||||||
(map (lambda (variable)
|
|
||||||
(search-path-specification
|
|
||||||
(variable variable)
|
|
||||||
|
|
||||||
;; Add 'include/c++' here so that <cstdlib>'s
|
|
||||||
;; "#include_next <stdlib.h>" finds GCC's
|
|
||||||
;; <stdlib.h>, not libc's.
|
|
||||||
(files (match variable
|
|
||||||
("CROSS_CPLUS_INCLUDE_PATH"
|
|
||||||
'("include/c++" "include"))
|
|
||||||
(_
|
|
||||||
'("include"))))))
|
|
||||||
%gcc-cross-include-paths)))
|
|
||||||
(native-search-paths '())))
|
(native-search-paths '())))
|
||||||
|
|
||||||
(define* (cross-kernel-headers . args)
|
(define* (cross-kernel-headers . args)
|
||||||
|
|
Reference in New Issue