[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
30/35: gnu: commencement: gcc-boot0: Support the 64bit Hurd.
From: |
guix-commits |
Subject: |
30/35: gnu: commencement: gcc-boot0: Support the 64bit Hurd. |
Date: |
Tue, 3 Dec 2024 02:45:52 -0500 (EST) |
janneke pushed a commit to branch master
in repository guix.
commit 265c54ed03f49f26729d7d1b570c0c4440fc98ca
Author: Janneke Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Tue Nov 19 19:10:47 2024 +0100
gnu: commencement: gcc-boot0: Support the 64bit Hurd.
Asking gcc to "--disable-shared" is overridden for libcc1 by the build
system,
which lateron fails with
install: cannot stat '.libs/libcc1.so.0.0.0': No such file or directory
because no shared libcc1.so.0.0.0 could actually be built.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: When building for
the
64bit Hurd, add CC_FOR_BUILD to #:make-flags to convince gmp's configure
that
gcc works. Also, add phase "patch-libcc1-static" to avoid attempting a
shared
libcc1.
---
gnu/packages/commencement.scm | 36 +++++++++++++++++++++++++++++-------
1 file changed, 29 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 2a32485fc0..3dbd27b660 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2391,13 +2391,21 @@ exec " gcc "/bin/" program
`(let* ((libc (assoc-ref %build-inputs "libc"))
(libc-native (or (assoc-ref %build-inputs "libc-native")
libc)))
- `(,(string-append "LDFLAGS="
- "-Wl,-rpath=" libc-native "/lib "
- "-Wl,-dynamic-linker "
- "-Wl," libc-native ,(glibc-dynamic-linker
- (match (%current-system)
- ("x86_64-linux"
"i686-linux")
- (_
(%current-system))))))))
+ `(,,@(append
+ `((string-append "LDFLAGS="
+ "-Wl,-rpath=" libc-native "/lib "
+ "-Wl,-dynamic-linker "
+ "-Wl," libc-native
+ ,(glibc-dynamic-linker
+ (match (%current-system)
+ ("x86_64-linux" "i686-linux")
+ (_ (%current-system))))))
+ (if (target-hurd64?)
+ ;;Convince gmp's configure that gcc works
+ (list (string-append
+ "CC_FOR_BUILD=gcc"
+ " -Wno-implicit-function-declaration"))
+ '())))))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'unpack-gmp&co
@@ -2421,6 +2429,20 @@ exec " gcc "/bin/" program
char-set:letter)
#$(package-name lib)))
(list gmp-6.0 mpfr mpc)))))
+ #$@(if (target-hurd64?)
+ #~((add-after 'unpack 'patch-libcc1-static
+ (lambda _
+ ;;Attempting to build libcc1 shared gives:
+ ;; install: cannot stat '.libs/libcc1.so.0.0.0':
+ ;; No such file or directory
+ ;;convince gcc harder to not build a shared libcc1
+ (substitute* "Makefile.def"
+ (("module= libcc1; [^;]*;") "module= libcc1;"))
+ (substitute* "Makefile.in"
+ (("(--target=[$][{]target_alias[}])
--enable-shared \\\\"
+ all target)
+ (string-append target " \\"))))))
+ #~())
#$(match (%current-system)
((or "i686-linux" "x86_64-linux")
#~(add-before 'configure 'fix-libcc1
- 26/35: gnu: commencement: kernel-headers-boot0: Support the 64bit Hurd., (continued)
- 26/35: gnu: commencement: kernel-headers-boot0: Support the 64bit Hurd., guix-commits, 2024/12/03
- 35/35: gnu: m4: Fix build of tests on the 64bit Hurd., guix-commits, 2024/12/03
- 21/35: gnu: Add gdb-15.2, with support for the 64bit Hurd., guix-commits, 2024/12/03
- 18/35: gnu: commencement: hurd-headers-boot0: Update to 0.9.git20240714., guix-commits, 2024/12/03
- 14/35: gnu: guile-fibers: Fix build for the 64bit Hurd., guix-commits, 2024/12/03
- 23/35: system: examples: Add bare-hurd64.tmpl., guix-commits, 2024/12/03
- 32/35: gnu: coreutils: Skip some tests on the 64bit Hurd., guix-commits, 2024/12/03
- 25/35: gnu: Use gcc-14, gcc-toolchain-14 on the 64bit Hurd., guix-commits, 2024/12/03
- 33/35: gnu: grep: Skip a test on the 64bit Hurd., guix-commits, 2024/12/03
- 34/35: gnu: diffutils: Skip some tests on the 64bit Hurd., guix-commits, 2024/12/03
- 30/35: gnu: commencement: gcc-boot0: Support the 64bit Hurd.,
guix-commits <=
- 06/35: gnu: libpciaccess: Support the 64bit Hurd., guix-commits, 2024/12/03