~ruther/guix-local

9ae7cee342db1abe9504ecba90da65c05694ab88 — Ludovic Courtès 12 years ago 67f6491
gnu: Switch to GCC 4.8 as the default compiler.

* gnu/packages/base.scm (gcc-boot0, cross-gcc-wrapper, gcc-final): Base
  on GCC-4.8.
* gnu/packages/cross-base.scm (cross-gcc): Likewise.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc,
  %gcc-static, %gcc-stripped): Likewise.
3 files changed, 16 insertions(+), 16 deletions(-)

M gnu/packages/base.scm
M gnu/packages/cross-base.scm
M gnu/packages/make-bootstrap.scm
M gnu/packages/base.scm => gnu/packages/base.scm +6 -6
@@ 642,7 642,7 @@ identifier SYSTEM."

(define gcc-boot0
  (package-with-bootstrap-guile
   (package (inherit gcc-4.7)
   (package (inherit gcc-4.8)
     (name "gcc-cross-boot0")
     (arguments
      `(#:guile ,%bootstrap-guile


@@ 652,7 652,7 @@ identifier SYSTEM."
                   (ice-9 regex)
                   (srfi srfi-1)
                   (srfi srfi-26))
        ,@(substitute-keyword-arguments (package-arguments gcc-4.7)
        ,@(substitute-keyword-arguments (package-arguments gcc-4.8)
            ((#:configure-flags flags)
             `(append (list ,(string-append "--target=" (boot-triplet))



@@ 716,7 716,7 @@ identifier SYSTEM."
                    (with-directory-excursion
                        (string-append out "/lib/gcc/"
                                       ,(boot-triplet)
                                       "/" ,(package-version gcc-4.7))
                                       "/" ,(package-version gcc-4.8))
                      (symlink "libgcc.a" "libgcc_eh.a"))))
                ,phases))))))



@@ 732,7 732,7 @@ identifier SYSTEM."

     ;; No need for Texinfo at this stage.
     (native-inputs (alist-delete "texinfo"
                                  (package-native-inputs gcc-4.7))))))
                                  (package-native-inputs gcc-4.8))))))

(define (linux-libre-headers-boot0)
  "Return Linux-Libre header files for the bootstrap environment."


@@ 798,7 798,7 @@ identifier SYSTEM."
(define (cross-gcc-wrapper gcc binutils glibc bash)
  "Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC
that makes it available under the native tool names."
  (package (inherit gcc-4.7)
  (package (inherit gcc-4.8)
    (name (string-append (package-name gcc) "-wrapped"))
    (source #f)
    (build-system trivial-build-system)


@@ 904,7 904,7 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
       ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.)
       ,@(substitute-keyword-arguments (package-arguments gcc-boot0)
           ((#:configure-flags boot-flags)
            (let loop ((args (package-arguments gcc-4.7)))
            (let loop ((args (package-arguments gcc-4.8)))
              (match args
                ((#:configure-flags normal-flags _ ...)
                 normal-flags)

M gnu/packages/cross-base.scm => gnu/packages/cross-base.scm +4 -4
@@ 70,11 70,11 @@
  "Return a cross-compiler for TARGET, where TARGET is a GNU triplet.  Use
XBINUTILS as the associated cross-Binutils.  If LIBC is false, then build a
GCC that does not target a libc; otherwise, target that libc."
  (package (inherit gcc-4.7)
  (package (inherit gcc-4.8)
    (name (string-append "gcc-cross-"
                         (if libc "" "sans-libc-")
                         target))
    (source (origin (inherit (package-source gcc-4.7))
    (source (origin (inherit (package-source gcc-4.8))
              (patches
               (list (search-patch "gcc-cross-environment-variables.patch")))))
    (arguments


@@ 85,7 85,7 @@ GCC that does not target a libc; otherwise, target that libc."
                  (srfi srfi-1)
                  (srfi srfi-26))

       ,@(substitute-keyword-arguments (package-arguments gcc-4.7)
       ,@(substitute-keyword-arguments (package-arguments gcc-4.8)
           ((#:configure-flags flags)
            `(append (list ,(string-append "--target=" target)
                           ,@(gcc-configure-flags-for-triplet target)


@@ 186,7 186,7 @@ GCC that does not target a libc; otherwise, target that libc."
       ("libc-native" ,@(assoc-ref %final-inputs "libc"))

       ;; Remaining inputs.
       ,@(let ((inputs (append (package-inputs gcc-4.7)
       ,@(let ((inputs (append (package-inputs gcc-4.8)
                               (alist-delete "libc" %final-inputs))))
           (if libc
               `(("libc" ,libc)

M gnu/packages/make-bootstrap.scm => gnu/packages/make-bootstrap.scm +6 -6
@@ 94,10 94,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
            ("cross-binutils" ,(cross-binutils target))
            ,@%final-inputs))
        `(("libc" ,(glibc-for-bootstrap))
          ("gcc" ,(package (inherit gcc-4.7)
          ("gcc" ,(package (inherit gcc-4.8)
                    (inputs
                     `(("libc",(glibc-for-bootstrap))
                       ,@(package-inputs gcc-4.7)))))
                       ,@(package-inputs gcc-4.8)))))
          ,@(fold alist-delete %final-inputs '("libc" "gcc")))))

  (package-with-explicit-inputs p inputs


@@ 378,7 378,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(define %gcc-static
  ;; A statically-linked GCC, with stripped-down functionality.
  (package-with-relocatable-glibc
   (package (inherit gcc-4.7)
   (package (inherit gcc-4.8)
     (name "gcc-static")
     (arguments
      `(#:modules ((guix build utils)


@@ 386,7 386,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                   (srfi srfi-1)
                   (srfi srfi-26)
                   (ice-9 regex))
        ,@(substitute-keyword-arguments (package-arguments gcc-4.7)
        ,@(substitute-keyword-arguments (package-arguments gcc-4.8)
            ((#:guile _) #f)
            ((#:implicit-inputs? _) #t)
            ((#:configure-flags flags)


@@ 409,11 409,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
               ("mpfr-source" ,(package-source mpfr))
               ("mpc-source" ,(package-source mpc))
               ("binutils" ,binutils)
               ,@(package-inputs gcc-4.7))))))
               ,@(package-inputs gcc-4.8))))))

(define %gcc-stripped
  ;; The subset of GCC files needed for bootstrap.
  (package (inherit gcc-4.7)
  (package (inherit gcc-4.8)
    (name "gcc-stripped")
    (build-system trivial-build-system)
    (source #f)