diff options
author | Marius Bakke <mbakke@fastmail.com> | 2019-02-27 20:28:57 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2019-02-28 19:15:02 +0100 |
commit | b45a97ea84befd28b6191aa9ca320b8758ee8090 (patch) | |
tree | 2d2237c10a0a7a345ac49d41115d97bde48912c3 /gnu/packages/cross-base.scm | |
parent | b4037d82c0d30455ca9288e18a543dbb310476ac (diff) | |
download | patches-b45a97ea84befd28b6191aa9ca320b8758ee8090.tar patches-b45a97ea84befd28b6191aa9ca320b8758ee8090.tar.gz |
gnu: GCC: Move cross-toolchain build fix to (gnu packages cross-base).
This makes sure it is inherited by packages using (cross-gcc ...). This
commit is a followup to 01e8263febb9634564b4b73af49b81a36567a11b.
* gnu/build/cross-toolchain.scm (cross-gcc-build-phases): Move
'treat-glibc-as-system-header' phase ...
* gnu/packages/cross-base.scm (cross-gcc-arguments): ... here.
Diffstat (limited to 'gnu/packages/cross-base.scm')
-rw-r--r-- | gnu/packages/cross-base.scm | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 8fe9d5b6d6..6a092727c1 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -165,7 +166,19 @@ base compiler and using LIBC (which may be either a libc package or #f.)" ,flags)) flags)) ((#:phases phases) - `(cross-gcc-build-phases ,target ,phases)))))) + `(cross-gcc-build-phases + ,target + (modify-phases ,phases + (add-before 'configure 'treat-glibc-as-system-header + (lambda* (#:key inputs #:allow-other-keys) + (let ((libc (assoc-ref inputs "libc"))) + (when libc + ;; For GCC6 and later, make sure Glibc is treated as a "system + ;; header" such that #include_next does the right thing. + (for-each (lambda (var) + (setenv var (string-append libc "/include"))) + '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"))) + #t)))))))))) (define (cross-gcc-patches target) "Return GCC patches needed for TARGET." |