summaryrefslogtreecommitdiff
path: root/gnu/packages/gcc.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gcc.scm')
-rw-r--r--gnu/packages/gcc.scm126
1 files changed, 46 insertions, 80 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 1fd5710e57..e202b41715 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -274,13 +274,10 @@ where the OS part is overloaded to denote a specific ABI---into GCC
~a"
libc line))))
- ;; TODO: Make this unconditional in core-updates.
- ,@(if (target-powerpc?)
- `((when (file-exists? "gcc/config/rs6000")
- ;; Force powerpc libdir to be /lib and not /lib64
- (substitute* (find-files "gcc/config/rs6000")
- (("/lib64") "/lib"))))
- `())
+ (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"
@@ -329,8 +326,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC
;; but there's nothing useful to look for here.)
(substitute* "gcc/config.in"
(("PREFIX_INCLUDE_DIR")
- "PREFIX_INCLUDE_DIR_isnt_necessary_here"))
- #t)))
+ "PREFIX_INCLUDE_DIR_isnt_necessary_here")))))
(add-after 'configure 'post-configure
(lambda _
@@ -338,8 +334,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC
;; build-time dependencies---e.g., `--with-ppl=/gnu/store/xxx'.
(substitute* "Makefile"
(("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
- "TOPLEVEL_CONFIGURE_ARGUMENTS=\n"))
- #t)))))
+ "TOPLEVEL_CONFIGURE_ARGUMENTS=\n")))))))
(native-search-paths
;; Use the language-specific variables rather than 'CPATH' because they
@@ -387,15 +382,13 @@ Go. It also includes runtime support libraries for these languages.")
;; This is required for building with glibc-2.26.
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
(snippet
- '(begin
- (for-each
- (lambda (dir)
- (substitute* (string-append "libgcc/config/"
- dir "/linux-unwind.h")
- (("struct ucontext") "ucontext_t")))
- '("aarch64" "alpha" "bfin" "i386" "m68k"
- "pa" "sh" "tilepro" "xtensa"))
- #t))))
+ '(for-each
+ (lambda (dir)
+ (substitute* (string-append "libgcc/config/"
+ dir "/linux-unwind.h")
+ (("struct ucontext") "ucontext_t")))
+ '("aarch64" "alpha" "bfin" "i386" "m68k"
+ "pa" "sh" "tilepro" "xtensa")))))
(supported-systems %supported-systems)
(inputs
`(("isl" ,isl-0.11)
@@ -423,15 +416,13 @@ Go. It also includes runtime support libraries for these languages.")
;; This is required for building with glibc-2.26.
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
(snippet
- '(begin
- (for-each
- (lambda (dir)
- (substitute* (string-append "libgcc/config/"
- dir "/linux-unwind.h")
- (("struct ucontext") "ucontext_t")))
- '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
- "pa" "sh" "tilepro" "xtensa"))
- #t))))
+ '(for-each
+ (lambda (dir)
+ (substitute* (string-append "libgcc/config/"
+ dir "/linux-unwind.h")
+ (("struct ucontext") "ucontext_t")))
+ '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
+ "pa" "sh" "tilepro" "xtensa")))))
;; Override inherited texinfo-5 with latest version.
(native-inputs `(("perl" ,perl) ;for manpages
("texinfo" ,texinfo)))
@@ -459,8 +450,7 @@ Go. It also includes runtime support libraries for these languages.")
":"))
(format #t
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
- (getenv "CPLUS_INCLUDE_PATH"))
- #t))))))))))
+ (getenv "CPLUS_INCLUDE_PATH"))))))))))))
(define-public gcc-5
;; Note: GCC >= 5 ships with .info files but 'make install' fails to install
@@ -492,11 +482,9 @@ Go. It also includes runtime support libraries for these languages.")
;;
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67590
;; http://cgit.openembedded.org/openembedded-core/commit/?id=f6e47aa9b12f9ab61530c40e0343f451699d9077
- '(begin
- (substitute* "libcc1/configure"
- (("\\$gcc_cv_objdump -T")
- "$OBJDUMP_FOR_TARGET -T"))
- #t))))
+ '(substitute* "libcc1/configure"
+ (("\\$gcc_cv_objdump -T")
+ "$OBJDUMP_FOR_TARGET -T")))))
(inputs
`(;; GCC5 needs <isl/band.h> which is removed in later versions.
("isl" ,isl-0.18)
@@ -610,7 +598,7 @@ It also includes runtime support libraries for these languages.")))
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions.
-(define-public gcc gcc-7)
+(define-public gcc gcc-8)
(define-public (make-libstdc++ gcc)
"Return a libstdc++ package based on GCC. The primary use case is when
@@ -621,25 +609,16 @@ using compilers other than GCC."
(arguments
`(#:out-of-source? #t
#:phases
- ;; TODO: Use the target-powerpc arm for everyone.
- ,(if (target-powerpc?)
- `(modify-phases %standard-phases
- ;; Force rs6000 (i.e., powerpc) libdir to be /lib and not /lib64.
- (add-before 'chdir '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)))
- `(alist-cons-before 'configure 'chdir
- (lambda _
- (chdir "libstdc++-v3")
- #t)
- %standard-phases))
+ (modify-phases %standard-phases
+ ;; Force rs6000 (i.e., powerpc) libdir to be /lib and not /lib64.
+ (add-before 'chdir 'fix-rs6000-libdir
+ (lambda _
+ (when (file-exists? "gcc/config/rs6000")
+ (substitute* (find-files "gcc/config/rs6000")
+ (("/lib64") "/lib")))))
+ (add-before 'configure 'chdir
+ (lambda _
+ (chdir "libstdc++-v3"))))
#:configure-flags `("--disable-libstdcxx-pch"
,(string-append "--with-gxx-include-dir="
@@ -690,16 +669,14 @@ using compilers other than GCC."
(modify-phases %standard-phases
(add-before 'configure 'chdir
(lambda _
- (chdir "libiberty")
- #t))
+ (chdir "libiberty")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib/"))
(include (string-append out "/include/")))
(install-file "libiberty.a" lib)
- (install-file "../include/libiberty.h" include))
- #t)))))
+ (install-file "../include/libiberty.h" include)))))))
(inputs '())
(outputs '("out"))
(native-inputs '())
@@ -741,8 +718,7 @@ as the 'native-search-paths' field."
(lambda* (#:key outputs #:allow-other-keys)
(for-each delete-file
(find-files (string-append (assoc-ref outputs "out") "/bin")
- ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))
- #t))))))))
+ ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))))
(define %generic-search-paths
;; This is the language-neutral search path for GCC. Entries in $CPATH are
@@ -758,12 +734,7 @@ as the 'native-search-paths' field."
(define-public gfortran
(hidden-package
- (custom-gcc (package
- (inherit gcc)
- ;; XXX: Remove LIBSTDC++-HEADERS from the inputs just to
- ;; avoid a rebuild of all the GFORTRAN dependents.
- ;; TODO: Remove this hack on the next rebuild cycle.
- (inputs (alist-delete "libstdc++" (package-inputs gcc))))
+ (custom-gcc gcc
"gfortran" '("fortran")
%generic-search-paths)))
@@ -801,8 +772,7 @@ as the 'native-search-paths' field."
(lambda* (#:key outputs #:allow-other-keys)
(for-each delete-file
(find-files (string-append (assoc-ref outputs "out") "/bin")
- ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))
- #t))))))
+ ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))
(synopsis "GCC library generating machine code on-the-fly at runtime")
(description
"This package is part of the GNU Compiler Collection and provides an
@@ -935,8 +905,7 @@ provides the GNU compiler for the Go programming language."))
#:phases (modify-phases %standard-phases
(add-before 'configure 'chdir
(lambda _
- (chdir "libstdc++-v3")
- #t))
+ (chdir "libstdc++-v3")))
(add-before 'configure 'set-xsl-directory
(lambda* (#:key inputs #:allow-other-keys)
(let ((docbook (assoc-ref inputs "docbook-xsl")))
@@ -945,8 +914,7 @@ provides the GNU compiler for the Go programming language."))
(("@XSL_STYLE_DIR@")
(string-append
docbook "/xml/xsl/"
- (strip-store-file-name docbook))))
- #t)))
+ (strip-store-file-name docbook)))))))
(replace 'build
(lambda _
;; XXX: There's also a 'doc-info' target, but it
@@ -973,7 +941,7 @@ provides the GNU compiler for the Go programming language."))
(define-public isl
(package
(name "isl")
- (version "0.22.1")
+ (version "0.23")
(source (origin
(method url-fetch)
(uri (list (string-append
@@ -984,7 +952,7 @@ provides the GNU compiler for the Go programming language."))
name "-" version ".tar.bz2")))
(sha256
(base32
- "1kf54jib0nind1pvakblnfhimmwzm0y1llz8470ag0di5vwqwrhs"))))
+ "0k91zck10zxs9sk3yrbb92y1j3w981w3fbwkfwd7kl779b0j52f5"))))
(build-system gnu-build-system)
(outputs '("out" "static"))
(arguments
@@ -1003,8 +971,7 @@ provides the GNU compiler for the Go programming language."))
;; libtool looks for it in the usual locations.
(substitute* (string-append out "/lib/libisl.la")
(("^old_library=.*")
- "old_library=''\n"))
- #t))))))
+ "old_library=''\n"))))))))
(inputs `(("gmp" ,gmp)))
(home-page "http://isl.gforge.inria.fr/")
(synopsis
@@ -1130,8 +1097,7 @@ effective code.")
(copy-file file
(string-append html "/"
file)))
- (find-files "." "\\.html$"))
- #t))))))
+ (find-files "." "\\.html$"))))))))
(synopsis "Reference manual for the C programming language")
(description
"This is a reference manual for the C programming language, as