summary refs log tree commit diff
path: root/gnu/packages/make-bootstrap.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/make-bootstrap.scm')
-rw-r--r--gnu/packages/make-bootstrap.scm16
1 files changed, 15 insertions, 1 deletions
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 7f7a808542..d621a634a3 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -418,7 +418,21 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
             ((#:make-flags flags)
              (if (%current-target-system)
                  `(cons "LDFLAGS=-static" ,flags)
-                 `(cons "BOOT_LDFLAGS=-static" ,flags)))))))))
+                 `(cons "BOOT_LDFLAGS=-static" ,flags))))))
+     (native-inputs
+      (if (%current-target-system)
+          `(;; When doing a Canadian cross, we need GMP/MPFR/MPC both
+            ;; as target inputs and as native inputs; the latter is
+            ;; needed when building build-time tools ('genconstants',
+            ;; etc.)  Failing to do that leads to misdetections of
+            ;; declarations by 'gcc/configure', and eventually to
+            ;; duplicate declarations as reported in
+            ;; <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59217>.
+            ("gmp-native" ,gmp)
+            ("mpfr-native" ,mpfr)
+            ("mpc-native" ,mpc)
+            ,@(package-native-inputs gcc-4.8))
+          (package-native-inputs gcc-4.8))))))
 
 (define %gcc-stripped
   ;; The subset of GCC files needed for bootstrap.