summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-10-23 23:38:02 +0200
committerLudovic Courtès <ludo@gnu.org>2012-10-23 23:38:02 +0200
commit3f8de86dec63164157e5c4f7508b0bd1e4ed36ef (patch)
treee175150f2bac2ad8abb911c63f6ad884c34e462c
parent40749fb6eb3c63e759e5b108b7092ed23b198aa7 (diff)
downloadguix-3f8de86dec63164157e5c4f7508b0bd1e4ed36ef.tar.gz
distro: gcc: No longer store the absolute path of crt files.
* distro/packages/base.scm (gcc-4.7): Define
  STANDARD_STARTFILE_PREFIX_[12] instead of storing the absolute path of
  crt files.
-rw-r--r--distro/packages/base.scm10
1 files changed, 5 insertions, 5 deletions
diff --git a/distro/packages/base.scm b/distro/packages/base.scm
index aeb82ec286..e0dcbdb57a 100644
--- a/distro/packages/base.scm
+++ b/distro/packages/base.scm
@@ -759,9 +759,6 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
 
                  ;; Tell where to find libstdc++, libc, and `?crt*.o', except
                  ;; `crt{begin,end}.o', which come with GCC.
-
-                 ;; XXX: For crt*.o, use `STANDARD_STARTFILE_PREFIX' instead?  See
-                 ;; <http://www.linuxfromscratch.org/lfs/view/stable/chapter05/gcc-pass1.html>.
                  (substitute* ("gcc/config/gnu-user.h"
                                "gcc/config/i386/gnu-user.h"
                                "gcc/config/i386/gnu-user64.h")
@@ -769,8 +766,11 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
                     (format #f "#define LIB_SPEC \"-L~a/lib -rpath=~a/lib \
 -rpath=~a/lib64 -rpath=~a/lib \" ~a~%"
                             libc libc out out suffix))
-                   (("([^ ]*)crt([^\\.])\\.o" _ prefix suffix)
-                    (string-append libc "/lib/" prefix "crt" suffix ".o"))))
+                   (("#define STARTFILE_SPEC.*$" line)
+                    (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
+#define STANDARD_STARTFILE_PREFIX_2 \"\"
+~a~%"
+                            libc line))))
 
                ;; Don't retain a dependency on the build-time sed.
                (substitute* "fixincludes/fixincl.x"