diff options
author | Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> | 2023-11-28 12:34:51 +0100 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2023-12-11 13:33:53 +0200 |
commit | f49ccd9cefcc2cd93543a0619f54d10f86c61468 (patch) | |
tree | 03c6ddf9917414920828f7718598359fe0faefa2 /gnu | |
parent | 9095e10620c775145666f88ff4b0bfdc06645665 (diff) |
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>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/cross-base.scm | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 777b5d8761..0561fd2df8 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -249,6 +249,31 @@ base compiler and using LIBC (which may be either a libc package or #f.)" "-DTOOLDIR_BASE_PREFIX=\\\"../../../../\\\"")) #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 #:key (xgcc %xgcc) @@ -341,22 +366,7 @@ target that libc." (inputs '()) ;; Only search target inputs, not host inputs. - (search-paths (cons (search-path-specification - (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))) + (search-paths (cross-gcc-search-paths target)) (native-search-paths '()))) (define* (cross-kernel-headers . args) |