[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/03: gnu: gcc@4.9, gcc@5: Adjust for CPLUS_INCLUDE_PATH changes.
From: |
guix-commits |
Subject: |
01/03: gnu: gcc@4.9, gcc@5: Adjust for CPLUS_INCLUDE_PATH changes. |
Date: |
Sun, 15 Mar 2020 11:09:06 -0400 (EDT) |
mbakke pushed a commit to branch core-updates
in repository guix.
commit 56c833ea287f8f6d3c72f8bddc314960c0164d64
Author: Marius Bakke <address@hidden>
AuthorDate: Sun Mar 15 16:03:16 2020 +0100
gnu: gcc@4.9, gcc@5: Adjust for CPLUS_INCLUDE_PATH changes.
* gnu/packages/gcc.scm (gcc-4.9): Unless cross-compiling, add ...
[arguments]: with a phase to remove glibc and GCC from CPLUS_INCLUDE_PATH.
(gcc-6)[arguments]: Inherit from GCC-4.8.
---
gnu/packages/gcc.scm | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 6f28830..0b203d5 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -422,7 +422,33 @@ Go. It also includes runtime support libraries for these
languages.")
#t))))
;; Override inherited texinfo-5 with latest version.
(native-inputs `(("perl" ,perl) ;for manpages
- ("texinfo" ,texinfo)))))
+ ("texinfo" ,texinfo)))
+ (arguments
+ (if (%current-target-system)
+ (package-arguments gcc-4.8)
+ ;; For native builds of GCC 4.9 and GCC 5, the C++ include path needs
+ ;; to be adjusted so it does not interfere with GCC's own build
processes.
+ (substitute-keyword-arguments (package-arguments gcc-4.8)
+ ((#:modules modules %gnu-build-system-modules)
+ `((srfi srfi-1)
+ ,@modules))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libc (assoc-ref inputs "libc"))
+ (gcc (assoc-ref inputs "gcc")))
+ (setenv "CPLUS_INCLUDE_PATH"
+ (string-join (fold delete
+ (string-split (getenv
"CPLUS_INCLUDE_PATH")
+ #\:)
+ (list (string-append libc
"/include")
+ (string-append gcc
"/include/c++")))
+ ":"))
+ (format #t
+ "environment variable `CPLUS_INCLUDE_PATH'
changed to ~a~%"
+ (getenv "CPLUS_INCLUDE_PATH"))
+ #t))))))))))
(define-public gcc-5
;; Note: GCC >= 5 ships with .info files but 'make install' fails to install
@@ -479,6 +505,10 @@ Go. It also includes runtime support libraries for these
languages.")
"gcc-6-source-date-epoch-1.patch"
"gcc-6-source-date-epoch-2.patch"
"gcc-5.0-libvtv-runpath.patch"))))
+
+ ;; GCC 4.9 and 5 has a workaround that is not needed for GCC 6 and later.
+ (arguments (package-arguments gcc-4.8))
+
(inputs
`(("isl" ,isl)
,@(package-inputs gcc-4.7)))))