~ruther/guix-local

33ae7d43854d8e36f29892015d4ee172c7f518f6 — Ludovic Courtès 9 years ago c8b44fc
gnu: gcc: Properly set the dynamic linker file name on GNU/Hurd.

* gnu/packages/gcc.scm (gcc-4.7)[arguments]: In 'pre-configure' phase,
match 'GNU_USER_DYNAMIC_LINKER' in addition to 'GLIBC_DYNAMIC_LINKER'.
This fixes GNU/Hurd cross-compilation as reported at
<https://lists.gnu.org/archive/html/guix-devel/2017-01/msg01731.html>.
1 files changed, 6 insertions(+), 5 deletions(-)

M gnu/packages/gcc.scm
M gnu/packages/gcc.scm => gnu/packages/gcc.scm +6 -5
@@ 205,17 205,18 @@ where the OS part is overloaded to denote a specific ABI---into GCC
                (for-each
                 (lambda (x)
                   (substitute* (find-files "gcc/config"
                                            "^linux(64|-elf|-eabi)?\\.h$")
                     (("(#define GLIBC_DYNAMIC_LINKER.*)\\\\\n$" _ line)
                                            "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
                     (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n$" _ line)
                      line)))
                 '(1 2 3))

                ;; Fix the dynamic linker's file name.
                (substitute* (find-files "gcc/config"
                                         "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
                  (("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix)
                   (format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%"
                           suffix
                  (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ ]*).*$"
                    _ gnu-user suffix)
                   (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%"
                           gnu-user suffix
                           (string-append libc ,(glibc-dynamic-linker)))))

                ;; Tell where to find libstdc++, libc, and `?crt*.o', except