mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-19 05:57:04 +01:00
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.
This commit is contained in:
parent
62130a7f4d
commit
265c54ed03
1 changed files with 29 additions and 7 deletions
|
@ -2391,13 +2391,21 @@ (define gcc-boot0
|
|||
`(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 @@ (define gcc-boot0
|
|||
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
|
||||
|
|
Loading…
Reference in a new issue