me
/
guix
Archived
1
0
Fork 0

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>
Jean-Pierre De Jesus DIAZ 2023-11-28 12:34:51 +01:00 committed by Efraim Flashner
parent 9095e10620
commit f49ccd9cef
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
1 changed files with 26 additions and 16 deletions

View File

@ -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)