aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-06-14 22:16:03 +0200
committerLudovic Courtès <ludo@gnu.org>2014-06-14 22:16:03 +0200
commit6b9229ca512a38160156635edc9334eee44470ec (patch)
tree305274641fa23ab03dd03bbdc9dcdf3728bb1ea7
parentfd0b276624fdd9aebe9ebf3f64bf9571bed3517d (diff)
downloadguix-6b9229ca512a38160156635edc9334eee44470ec.tar
guix-6b9229ca512a38160156635edc9334eee44470ec.tar.gz
gnu: gcc: Don't use the 'install-strip' target when cross-compiling.
* gnu/packages/gcc.scm (gcc-4.7): Add 'install-target' variable. Use it in the 'install' phase.
-rw-r--r--gnu/packages/gcc.scm12
1 files changed, 8 insertions, 4 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 86134811d3..e845b6ccb4 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -51,6 +51,13 @@ where the OS part is overloaded to denote a specific ABI---into GCC
(define-public gcc-4.7
(let* ((stripped? #t) ; TODO: make this a parameter
+ (install-target
+ ;; The 'install-strip' rule uses the native 'strip' instead of
+ ;; 'TARGET-strip' when cross-compiling. Thus, use 'install' in that
+ ;; case.
+ (if (and stripped? (not (%current-target-system)))
+ "install-strip"
+ "install"))
(maybe-target-tools
(lambda ()
;; Return the `_FOR_TARGET' variables that are needed when
@@ -231,10 +238,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC
(alist-replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(zero?
- (system* "make"
- ,(if stripped?
- "install-strip"
- "install"))))
+ (system* "make" ,install-target)))
%standard-phases)))))
(native-search-paths