From fc95fdaebe5f99ceb6ad0ea5fe0d8ea44ba92aab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Fri, 26 Oct 2012 18:51:22 +0200
Subject: [PATCH] distro: gcc: Adjust to support non-x86_64 architectures.

* distro/packages/base.scm (gcc-4.7)[arguments]: In the `pre-configure'
  phase, patch all the relevant gcc/config files, not just those for
  x86_64-linux-gnu.
---
 distro/packages/base.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/distro/packages/base.scm b/distro/packages/base.scm
index 4cf9f70a239..ca85ca1f3ee 100644
--- a/distro/packages/base.scm
+++ b/distro/packages/base.scm
@@ -751,7 +751,8 @@ (define-public gcc-4.7
                  ;; cross-compiler builds.
 
                  ;; Fix the dynamic linker's file name.
-                 (substitute* "gcc/config/i386/linux64.h"
+                 (substitute* (find-files "gcc/config"
+                                          "^linux(64|-elf)?\\.h$")
                    (("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix)
                     (format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%"
                             suffix
@@ -759,9 +760,8 @@ (define-public gcc-4.7
 
                  ;; Tell where to find libstdc++, libc, and `?crt*.o', except
                  ;; `crt{begin,end}.o', which come with GCC.
-                 (substitute* '("gcc/config/gnu-user.h"
-                                "gcc/config/i386/gnu-user.h"
-                                "gcc/config/i386/gnu-user64.h")
+                 (substitute* (find-files "gcc/config"
+                                          "^(gnu-user(64)?|linux-elf)\\.h$")
                    (("#define LIB_SPEC (.*)$" _ suffix)
                     (format #f "#define LIB_SPEC \"-L~a/lib -rpath=~a/lib \
 -rpath=~a/lib64 -rpath=~a/lib \" ~a~%"
-- 
GitLab