~ruther/guix-local

e7133c76802991f8da2afd87eed598f5ca00a082 — Ludovic Courtès 12 years ago c8fa51f
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'.
2 files changed, 5 insertions(+), 8 deletions(-)

M gnu/packages/bootstrap.scm
M gnu/packages/cross-base.scm
M gnu/packages/bootstrap.scm => gnu/packages/bootstrap.scm +4 -1
@@ 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")

M gnu/packages/cross-base.scm => gnu/packages/cross-base.scm +1 -7
@@ 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