diff options
-rw-r--r-- | gnu/packages/make-bootstrap.scm | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 561a286d26..df6b828a2d 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -106,16 +106,33 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (define (native-inputs) (if (%current-target-system) - (let ((target (%current-target-system))) - `(("cross-gcc" ,(cross-gcc target - #:xbinutils (cross-binutils target) - #:libc (cross-bootstrap-libc))) + (let* ((target (%current-target-system)) + (xgcc (cross-gcc + target + #:xbinutils (cross-binutils target) + #:libc (cross-bootstrap-libc)))) + `(("cross-gcc" ,(package + (inherit xgcc) + (search-paths + ;; Ensure the cross libc headers appears on the + ;; C++ system header search path. + (cons (search-path-specification + (variable "CROSS_CPLUS_INCLUDE_PATH") + (files '("include"))) + (package-search-paths gcc))))) ("cross-binutils" ,(cross-binutils target)) ,@(%final-inputs))) `(("libc" ,(glibc-for-bootstrap)) ("libc:static" ,(glibc-for-bootstrap) "static") ("gcc" ,(package (inherit gcc) (outputs '("out")) ;all in one so libgcc_s is easily found + (native-search-paths + ;; Set CPLUS_INCLUDE_PATH so GCC is able to find the libc + ;; C++ headers. + (cons (search-path-specification + (variable "CPLUS_INCLUDE_PATH") + (files '("include"))) + (package-native-search-paths gcc))) (inputs `(;; Distinguish the name so we can refer to it below. ("bootstrap-libc" ,(glibc-for-bootstrap)) |