2000-03-10 H.J. Lu <hjl@gnu.org>
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 10 Mar 2000 20:50:45 +0000 (20:50 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 10 Mar 2000 20:50:45 +0000 (20:50 +0000)
* Makefile.in (all-gcc): Run ld/ld-new if necessary.

ChangeLog
Makefile.in

index 596685f..8171336 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2000-03-10  H.J. Lu  <hjl@gnu.org>
+
+       * Makefile.in (all-gcc): Run ld/ld-new if necessary.
+
 Fri Mar  3 18:44:08 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
        * Makefile.in (taz): Set PACKAGE to TOOL when not defined.
index beab8be..9eae8e6 100644 (file)
@@ -1414,6 +1414,17 @@ $(INSTALL_X11_MODULES): installdirs
 # gcc is the only module which uses GCC_FLAGS_TO_PASS.
 .PHONY: all-gcc
 all-gcc:
+       # When configured with --enable-shared, libtool creates a
+       # script in the build directory which automatically relinks
+       # the program to search for shared libraries in the build
+       # directory.  However, when ld/ld-new is called the first time
+       # from the new gcc, all the compiler environment variables are
+       # set to use the new gcc. ld/ld-new will use the new gcc to
+       # relink the new linker. It is incorrect. We cannot run
+       # ld/ld-new the first time from the new gcc. It is a very
+       # special case. We deal with it here.
+       -if test -f gcc/Makefile -a -x ld/ld-new -a -x ld/.libs/ld-new; then \
+         ld/ld-new -v >/dev/null 2>&1; fi
        @if [ -f ./gcc/Makefile ] ; then \
          r=`pwd`; export r; \
          s=`cd $(srcdir); pwd`; export s; \