PATCH: bootstrap/19135 and bootstrap/19151: Fix libiberty for multilib

H. J. Lu hjl@lucon.org
Sat Dec 25 16:41:00 GMT 2004


Libtool doesn't always work right for multilib when building .la file.
But I can't reproduce it myself. This patch gets around it to build
.a file directly.

H.J.
----
2004-12-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/19135
	PR bootstrap/19151
	* Makefile.in (LTTARGETLIB): Removed.
	(PREFIXTARGETLIB): Likewise.
	(LTTESTLIB): Likewise.
	(PREFIXTESTLIB): Likewise.
	(COMPILER): New.
	(COMPILE.c): Updated.
	(CCLD): Removed.
	(LINK): Updated.
	($(TARGETLIB)): Updated to build .a file directly.
	($(TESTLIB)): Likewise.

--- libiberty/Makefile.in.multilib	2004-12-20 09:10:56.000000000 -0800
+++ libiberty/Makefile.in	2004-12-24 08:51:26.288728747 -0800
@@ -72,11 +72,7 @@ PICFLAG =
 MAKEOVERRIDES =
 
 TARGETLIB = ./libiberty.a
-LTTARGETLIB = ./libiberty.la
-PREFIXTARGETLIB= ./libiberty
 TESTLIB = ./testlib.a
-LTTESTLIB = ./testlib.la
-PREFIXTESTLIB = ./testlib
 
 LIBOBJS = @LIBOBJS@
 LTLIBOBJS = @LTLIBOBJS@
@@ -125,10 +121,10 @@ installcheck: installcheck-subdir
 
 INCDIR=$(srcdir)/$(MULTISRCTOP)../include
 
-COMPILE.c = $(CC) -c @DEFS@ $(LIBCFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@
+COMPILER = $(CC) @DEFS@ $(LIBCFLAGS) $(HDEFINES) @ac_libiberty_warn_cflags@
+COMPILE.c = $(COMPILER) -c -I. -I$(INCDIR)
 LTCOMPILE = $(LIBTOOL) --mode=compile $(COMPILE.c)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(CFLAGS)
+LINK = $(LIBTOOL) --mode=link $(COMPILER)
 
 # Just to make sure we don't use a built-in rule with VPATH
 .c.o:
@@ -275,15 +271,8 @@ $(TARGETLIB): $(REQUIRED_LTOFILES) $(EXT
 	libtooldir=`$(LIBTOOL) --config | sed -n -e 's/^objdir=//p'`; \
 	rm -f $(TARGETLIB) $$libtooldir/$(TARGETLIB) pic/$(TARGETLIB) \
 	  || true; \
-	$(LINK) -o $(LTTARGETLIB) -rpath $(libdir) \
+	$(LINK) -o $(TARGETLIB) \
 	  $(REQUIRED_LTOFILES) $(EXTRA_LTOFILES) $(LTLIBOBJS); \
-	if [ -f $$libtooldir/$(TARGETLIB) ]; then \
-	  cp $$libtooldir/$(TARGETLIB) $(TARGETLIB).tmp; \
-	  $(RANLIB) $(TARGETLIB).tmp; \
-	  $(SHELL) $(srcdir)/../move-if-change \
-	    $(TARGETLIB).tmp $(TARGETLIB); \
-	else true; fi; \
-	rm -f $(LTTARGETLIB) $$libtooldir/$(PREFIXTARGETLIB)*; \
 	if [ x$(enable_shared) = xyes ]; then \
 	  cd $$libtooldir; \
 	  $(AR) $(AR_FLAGS) $(TARGETLIB) \
@@ -298,15 +287,8 @@ $(TARGETLIB): $(REQUIRED_LTOFILES) $(EXT
 $(TESTLIB): $(REQUIRED_LTOFILES) $(CONFIGURED_LTOFILES)
 	libtooldir=`$(LIBTOOL) --config | sed -n -e 's/^objdir=//p'`; \
 	rm -f $(TESTLIB) $$libtooldir/$(TESTLIB) || true; \
-	$(LINK) -o $(LTTESTLIB) -rpath $(libdir) \
-	  $(REQUIRED_LTOFILES) $(CONFIGURED_LTOFILES); \
-	if [ -f $$libtooldir/$(TESTLIB) ]; then \
-	  cp $$libtooldir/$(TESTLIB) $(TESTLIB).tmp; \
-	  $(RANLIB) $(TESTLIB).tmp; \
-	  $(SHELL) $(srcdir)/../move-if-change \
-	    $(TESTLIB).tmp $(TESTLIB); \
-	else true; fi; \
-	rm -f $(LTTESTLIB) $$libtooldir/$(PREFIXTESTLIB)*
+	$(LINK) -o $(TESTLIB) \
+	  $(REQUIRED_LTOFILES) $(CONFIGURED_LTOFILES)
 
 info: libiberty.info info-subdir
 install-info: install-info-subdir



More information about the Binutils mailing list