diff options
author | Ludovic Courtès <ludo@gnu.org> | 2013-06-26 16:27:51 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-06-26 16:27:51 +0200 |
commit | e7133c76802991f8da2afd87eed598f5ca00a082 (patch) | |
tree | 600806c29ba71502e36c0669b07b08e927b43e47 | |
parent | c8fa51f2d6dd8ab9157f8c87b909f73b956371d1 (diff) | |
download | guix-e7133c76802991f8da2afd87eed598f5ca00a082.tar.gz |
gnu: cross-base: Make `glibc-dynamic-linker' do the right thing.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Determine SYSTEM based on (%current-target-system) when it's true. * gnu/packages/cross-base.scm (cross-gcc): Directly call (package-arguments gcc-4.7) from the body of `arguments'.
-rw-r--r-- | gnu/packages/bootstrap.scm | 5 | ||||
-rw-r--r-- | gnu/packages/cross-base.scm | 8 |
2 files changed, 5 insertions, 8 deletions
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index eaad45a741..86723a9591 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -131,7 +131,10 @@ check whether everything is alright." (propagated-inputs (map rewritten-input (package-propagated-inputs p))))))) -(define* (glibc-dynamic-linker #:optional (system (%current-system))) +(define* (glibc-dynamic-linker + #:optional (system (or (and=> (%current-target-system) + gnu-triplet->nix-system) + (%current-system)))) "Return the name of Glibc's dynamic linker for SYSTEM." (cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2") ((string=? system "i686-linux") "/lib/ld-linux.so.2") diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index e6a8a1b550..68c321ee89 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -70,12 +70,6 @@ "Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a GCC that does not target a libc; otherwise, target that libc." - (define args - ;; Get the arguments as if we were building for TARGET. In particular, we - ;; want `glibc-dynamic-linker' to return the right thing. - (parameterize ((%current-system (gnu-triplet->nix-system target))) - (package-arguments gcc-4.7))) - (package (inherit gcc-4.7) (name (string-append "gcc-cross-" (if libc "" "sans-libc-") @@ -89,7 +83,7 @@ GCC that does not target a libc; otherwise, target that libc." (srfi srfi-26)) #:patches (list (assoc-ref %build-inputs "patch/cross-env-vars")) - ,@(substitute-keyword-arguments args + ,@(substitute-keyword-arguments (package-arguments gcc-4.7) ((#:configure-flags flags) `(append (list ,(string-append "--target=" target) ,@(if libc |