bootstrap w/o symlink

Donn Terry donn@verinet.com
Mon Feb 15 10:36:00 GMT 1999


Below are the patches I've found necessary to allow a
make bootstrap on a system w/o symlinks.

For gcc:
This fixes a bug with `` substitution marks, and also some additional
changes required to make builds withoug symlinks work correctly.

For CHILL: don't override CC; the default one is correct for staged
builds.  ($(CC) is the native compiler and/or doesn't get the relative
pathname).

For g77: provide a working HOST_CC by computing the relative pathname.
(@cc_set_by_configure@ didn't work: is substitution too late?  Changing
HOST_CC at the top level breaks other things).


ChangeLog for gcc:
Mon Feb 15 11:20:56 MST 1999 Donn Terry (donn@interix.com)
        * configure.in, Makefile.in: quoting problem with ``
          when building w/o symlink.

ChangeLog for ch:
Mon Feb 15 11:20:56 MST 1999 Donn Terry (donn@interix.com)
        * Make-lang.in: fix bootstrap w/o symlink: don't override CC.

ChangeLog for f:
Mon Feb 15 11:20:56 MST 1999 Donn Terry (donn@interix.com)
        * Make-lang.in: fix bootstrap w/o symlinks: fix pass of HOST_CC
          and HOST_CFLAGS.


diff -urP egcs.old/gcc/Makefile.in egcs.source/gcc/Makefile.in
--- egcs.baseline.feb12/gcc/Makefile.in Fri Feb 12 21:39:04 1999
+++ egcs.source/gcc/Makefile.in Sun Feb 14 10:20:49 1999
@@ -649,7 +649,7 @@
        -e 's|%% *|../|g' \
        -e 's|%||g'
 SUBDIR_FLAGS_TO_PASS = $(ORDINARY_FLAGS_TO_PASS) \
-  "CC=`echo @cc_set_by_configure@ |
$(PREPEND_DOTDOT_TO_RELATIVE_PATHS)`"
+  "CC=`echo @quoted_cc_set_by_configure@ |
$(PREPEND_DOTDOT_TO_RELATIVE_PATHS)`"
 #^L
 # Lists of files for various purposes.

diff -urP egcs.old/gcc/configure.in egcs.source/gcc/configure.in
--- egcs.baseline.feb12/gcc/configure.in        Fri Feb 12 16:20:06 1999

+++ egcs.source/gcc/configure.in        Sun Feb 14 10:21:59 1999
@@ -3686,6 +3686,7 @@
 if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
 then
        cc_set_by_configure="\$(CC)"
+       quoted_cc_set_by_configure="\$(CC)"
        stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
 else
        rm -f symtest.tem
@@ -3696,6 +3697,7 @@
                symbolic_link="cp"
        fi
        cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' |
sed -e '
s|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
+       quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo
'\\\$(CC
)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
        stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in
stage*) echo
 '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo
'\$(STAGE_PREFIX)';;
 esac\`"
 fi
 rm -f symtest.tem
@@ -4219,6 +4221,7 @@
 AC_SUBST(will_use_collect2)
 AC_SUBST(maybe_use_collect2)
 AC_SUBST(cc_set_by_configure)
+AC_SUBST(quoted_cc_set_by_configure)
 AC_SUBST(stage_prefix_set_by_configure)
 AC_SUBST(install)
 AC_SUBST(symbolic_link)
diff -urP egcs.source.old/gcc/ch/Make-lang.in
egcs.source/gcc/ch/Make-lang.in
--- egcs.source.old/gcc/ch/Make-lang.in Sun Jan 31 08:13:55 1999
+++ egcs.source/gcc/ch/Make-lang.in     Fri Feb  5 13:03:04 1999
@@ -61,7 +61,6 @@
        "CHILLFLAGS=$(CHILLFLAGS)" \
        "CHILL_FOR_TARGET=$(CHILL_FOR_TARGET)" \
        "CHILL_LIB=$(CHILL_LIB)" \
-       "CC=$(CC)" \
        "GNUCHILL_VERSION=$(GNUCHILL_VERSION)"
 #^L
 # Define the names for selecting languages in LANGUAGES.
diff -urP egcs.source.old/gcc/f/Make-lang.in
egcs.source/gcc/f/Make-lang.in
--- egcs.source.old/gcc/f/Make-lang.in  Sun Jan 31 08:10:47 1999
+++ egcs.source/gcc/f/Make-lang.in      Fri Feb  5 13:03:05 1999
@@ -227,7 +227,8 @@
 f771$(exeext): $(P) $(F77_SRCS) $(LIBDEPS) stamp-objlist
        touch lang-f77
        cd f; $(MAKE) $(FLAGS_TO_PASS) \
-         HOST_CC="$(HOST_CC)" HOST_CFLAGS="$(HOST_CFLAGS)"
HOST_CPPFLAGS="$(HOS
T_CPPFLAGS)" \
+       HOST_CC="`case '$(CC)' in stage*) echo '$(CC)' | sed -e
's|stage|../stag
e|g';; *) echo '$(CC)';; esac`" \
+         HOST_CFLAGS="$(HOST_CFLAGS)" HOST_CPPFLAGS="$(HOST_CPPFLAGS)"
\
          ../f771$(exeext)

 #^L




More information about the Gcc-patches mailing list