~ruther/guix-local

76e639a00fecb194e2fefc267e2e97c5845434b2 — Mark H Weaver 11 years ago 8eb8048
gnu: gcc: Use 'gcc-configure-flags-for-triplet' for native compilers too.

* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Do not export it.
  (gcc-4.7): Pass the result of 'gcc-configure-flags-for-triplet' to configure
  for all builds, including native ones.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Do not add the result of
  'gcc-configure-flags-for-triplet' here, since it is now included in the
  configure-flags inherited from gcc-4.8.
2 files changed, 6 insertions(+), 7 deletions(-)

M gnu/packages/cross-base.scm
M gnu/packages/gcc.scm
M gnu/packages/cross-base.scm => gnu/packages/cross-base.scm +0 -1
@@ 88,7 88,6 @@ may be either a libc package or #f.)"
    (substitute-keyword-arguments (package-arguments gcc-4.8)
      ((#:configure-flags flags)
       `(append (list ,(string-append "--target=" target)
                      ,@(gcc-configure-flags-for-triplet target)
                      ,@(if libc
                            '()
                            `( ;; Disable features not needed at this stage.

M gnu/packages/gcc.scm => gnu/packages/gcc.scm +6 -6
@@ 36,7 36,7 @@
  ;; Base URL for GCC's infrastructure.
  "ftp://gcc.gnu.org/pub/gcc/infrastructure/")

(define-public (gcc-configure-flags-for-triplet target)
(define (gcc-configure-flags-for-triplet target)
  "Return a list of additional GCC `configure' flags for TARGET, a GNU triplet.

The purpose of this procedure is to translate extended GNU triplets---e.g.,


@@ 102,11 102,11 @@ where the OS part is overloaded to denote a specific ABI---into GCC
                                           "/include")
                            "--without-headers")))

                   ;; When cross-compiling GCC, pass the right options for the
                   ;; target triplet.
                   (or (and=> (%current-target-system)
                              gcc-configure-flags-for-triplet)
                       '())
                   ;; Pass the right options for the target triplet.
                   (let ((triplet
                          (or (%current-target-system)
                              (nix-system->gnu-triplet (%current-system)))))
                     (gcc-configure-flags-for-triplet triplet))

                   (maybe-target-tools))))))
    (package