summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-01-07 15:00:44 +0000
committerMark H Weaver <mhw@netris.org>2015-01-07 12:34:13 -0500
commit76e639a00fecb194e2fefc267e2e97c5845434b2 (patch)
treedc6ee047c0e8c82501ab9948cf16ef74b02e35bb /gnu
parent8eb8048432f57254e07d48ab17890cbeca50e96f (diff)
downloadguix-76e639a00fecb194e2fefc267e2e97c5845434b2.tar.gz
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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cross-base.scm1
-rw-r--r--gnu/packages/gcc.scm12
2 files changed, 6 insertions, 7 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 0f32c9fab9..a9ae5ee333 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -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.
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index c9f9ab007a..0e507576fd 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -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