summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-06-14 15:58:23 +0200
committerLudovic Courtès <ludo@gnu.org>2014-06-14 15:58:23 +0200
commit6e3ecad6ca547c1a03d62b80be3eac2a0206d52e (patch)
tree291a82d5388f58c3e9e5b8ec34b26a57686a4df3
parentc4873bc4f5354fe4d51750834e56944720422541 (diff)
downloadguix-6e3ecad6ca547c1a03d62b80be3eac2a0206d52e.tar.gz
gnu: make-bootstrap: Make sure %gcc-stripped binaries are usable.
* gnu/packages/make-bootstrap.scm (%gcc-stripped):
  When (%current-target-system) is false, run gcc, g++, and cpp with
  --version.
-rw-r--r--gnu/packages/make-bootstrap.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index a9b8457234..2808bebee3 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -485,7 +485,14 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
            ;; (‘genchecksum’, ‘gcc-nm’, etc.) rely on C++ headers.
            (copy-recursively (string-append gcc "/include/c++")
                              (string-append includedir "/c++"))
-           #t))))
+
+           ;; For native builds, check whether the binaries actually work.
+           ,(if (%current-target-system)
+                '#t
+                '(every (lambda (prog)
+                          (zero? (system* (string-append gcc "/bin/" prog)
+                                          "--version")))
+                        '("gcc" "g++" "cpp")))))))
     (inputs `(("gcc" ,%gcc-static)))))
 
 (define %guile-static