diff options
Diffstat (limited to 'gnu/packages/gcc.scm')
-rw-r--r-- | gnu/packages/gcc.scm | 38 |
1 files changed, 15 insertions, 23 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index b652521bb8..414f31cb3c 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -64,15 +64,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC '()))) (define-public gcc-4.7 - (let* ((stripped? #t) ; TODO: make this a parameter - (install-target - (lambda () - ;; The 'install-strip' rule uses the native 'strip' instead of - ;; 'TARGET-strip' when cross-compiling. Thus, use 'install' in that - ;; case. - (if (and stripped? (not (%current-target-system))) - "install-strip" - "install"))) + (let* ((stripped? #t) ;whether to strip the compiler, not the libraries (maybe-target-tools (lambda () ;; Return the `_FOR_TARGET' variables that are needed when @@ -144,8 +136,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC ;; Separate out the run-time support libraries because all the ;; dynamic-linked objects depend on it. - (outputs '("out" ; commands, etc. (60+ MiB) - "lib")) ; libgcc_s, libgomp, etc. (15+ MiB) + (outputs '("out" ;commands, etc. (60+ MiB) + "lib" ;libgcc_s, libgomp, etc. (15+ MiB) + "debug")) ;debug symbols of run-time libraries (inputs `(("gmp" ,gmp) ("mpfr" ,mpfr) @@ -160,7 +153,6 @@ where the OS part is overloaded to denote a specific ABI---into GCC (arguments `(#:out-of-source? #t - #:strip-binaries? ,stripped? #:configure-flags ,(configure-flags) #:make-flags ;; None of the flags below are needed when doing a Canadian cross. @@ -235,8 +227,8 @@ where the OS part is overloaded to denote a specific ABI---into GCC ;; below, make sure to update the relevant code in ;; %gcc-static package as needed. (format #f "#define GNU_USER_TARGET_LIB_SPEC \ -\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib -lgcc_s}} \" ~a" - libc libc libdir libdir suffix)) +\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib -lgcc_s}} \" ~a" + libc libc libdir suffix)) (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line) (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\" #define STANDARD_STARTFILE_PREFIX_2 \"\" @@ -248,6 +240,14 @@ where the OS part is overloaded to denote a specific ABI---into GCC (("static char const sed_cmd_z\\[\\] =.*;") "static char const sed_cmd_z[] = \"sed\";")) + (when (file-exists? "libbacktrace") + ;; GCC 4.8+ comes with libbacktrace. By default it builds + ;; with -Werror, which fails with a -Wcast-qual error in glibc + ;; 2.21's stdlib-bsearch.h. Remove -Werror. + (substitute* "libbacktrace/configure" + (("WARN_FLAGS=(.*)-Werror" _ flags) + (string-append "WARN_FLAGS=" flags)))) + ;; Add a RUNPATH to libstdc++.so so that it finds libgcc_s. ;; See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32354> ;; and <http://bugs.gnu.org/20358>. @@ -280,11 +280,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC (substitute* "Makefile" (("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest) "TOPLEVEL_CONFIGURE_ARGUMENTS=\n"))) - (alist-replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (zero? - (system* "make" ,(install-target)))) - %standard-phases))))) + %standard-phases)))) (native-search-paths (list (search-path-specification @@ -313,10 +309,6 @@ Go. It also includes runtime support libraries for these languages.") (sha256 (base32 "15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a")) - - ;; ARM 'link' spec issue reported at - ;; <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65711> and - ;; <https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01387.html>. (patches (list (search-patch "gcc-arm-link-spec-fix.patch"))))))) (define-public gcc-4.9 |