[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/02: gnu: gcc-4.7: On powerpc64le, fix /lib64 references.
From: |
guix-commits |
Subject: |
02/02: gnu: gcc-4.7: On powerpc64le, fix /lib64 references. |
Date: |
Sat, 6 Feb 2021 19:50:33 -0500 (EST) |
marusich pushed a commit to branch wip-ppc64le
in repository guix.
commit db761a593992aea441055bda260461f4302a4667
Author: Chris Marusich <cmmarusich@gmail.com>
AuthorDate: Sat Feb 6 16:29:40 2021 -0800
gnu: gcc-4.7: On powerpc64le, fix /lib64 references.
Fixes: <https://bugs.gnu.org/46253>.
* gnu/packages/gcc.scm (gcc-4.7)[#:phases][pre-configure]: When the
gcc/config/rs6000 directory exists, replace "/lib64" with "/lib" in all
files
within it. Note that this fix will be picked up by any package that re-uses
the pre-configure phase from gcc-4.7 (e.g., all the usual gcc packages).
(make-libstdc++)[#:phases][fix-rs6000-libdir]: New phase, which does the
same
as above. It was necessary to duplicate the fix here because make-libstdc++
does not re-use the pre-configure phase from gcc-4.7.
---
gnu/packages/gcc.scm | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 4d5aaa7..331170f 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -273,6 +273,11 @@ where the OS part is overloaded to denote a specific
ABI---into GCC
~a"
libc line))))
+ (when (file-exists? "gcc/config/rs6000")
+ ;; Force powerpc libdir to be /lib and not /lib64
+ (substitute* (find-files "gcc/config/rs6000")
+ (("/lib64") "/lib")))
+
;; Don't retain a dependency on the build-time sed.
(substitute* "fixincludes/fixincl.x"
(("static char const sed_cmd_z\\[\\] =.*;")
@@ -598,12 +603,19 @@ using compilers other than GCC."
(name "libstdc++")
(arguments
`(#:out-of-source? #t
- #:phases (alist-cons-before
- 'configure 'chdir
- (lambda _
- (chdir "libstdc++-v3")
- #t)
- %standard-phases)
+ #:phases
+ (modify-phases %standard-phases
+ ;; Force rs6000 (i.e., powerpc) libdir to be /lib and not /lib64.
+ (add-before 'configure 'fix-rs6000-libdir
+ (lambda _
+ (when (file-exists? "gcc/config/rs6000")
+ (substitute* (find-files "gcc/config/rs6000")
+ (("/lib64") "/lib")))
+ #t))
+ (add-before 'configure 'chdir
+ (lambda _
+ (chdir "libstdc++-v3")
+ #t)))
#:configure-flags `("--disable-libstdcxx-pch"
,(string-append "--with-gxx-include-dir="
(assoc-ref %outputs "out")