This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix more fallout from multilib shared libgcc rearrangement
- From: Zack Weinberg <zack at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sun, 27 Feb 2005 22:50:35 -0800
- Subject: Fix more fallout from multilib shared libgcc rearrangement
This, I hope, is the last bit of fallout from all the libgcc build
changes. As David Edelsohn discovered a couple weeks ago, it is now
necessary for SHLIB_INSTALL to create the directory it is installing
into, because that directory doesn't get created earlier. He fixed it
for AIX, but there were a few other t-fragments that needed the same
fix. Joseph Myers noticed this on HPUX. I have preemptively fixed it
for alpha-osf4 and arm-netbsd also; all definitions of SHLIB_INSTALL
now invoke mkinstalldirs.
Tested on ia64-hpux11 and hppa64-hpux11. I cannot test alpha-osf4 or
arm-netbsd; please let me know if I've missed a typo or something and
it breaks your build. (Note that this only shows up on make install.)
Applied to mainline and 4.0 branch.
zw
* config/alpha/t-osf4, config/arm/t-netbsd, config/ia64/t-hpux
* config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the
installation directory first.
===================================================================
Index: config/alpha/t-osf4
--- config/alpha/t-osf4 16 Dec 2004 19:14:27 -0000 1.9
+++ config/alpha/t-osf4 28 Feb 2005 04:37:24 -0000
@@ -25,6 +25,8 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
$(LN_S) $(SHLIB_NAME) $(SHLIB_SONAME)
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
-SHLIB_INSTALL = $(INSTALL_DATA) $(SHLIB_NAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_SONAME); \
+SHLIB_INSTALL = \
+ $$(mkinstalldirs) $$(DESTDIR)$$(slibdir); \
+ $(INSTALL_DATA) $(SHLIB_NAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_SONAME); \
rm -f $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME); \
$(LN_S) $(SHLIB_SONAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME)
===================================================================
Index: config/arm/t-netbsd
--- config/arm/t-netbsd 16 Dec 2004 19:14:27 -0000 1.9
+++ config/arm/t-netbsd 28 Feb 2005 04:37:24 -0000
@@ -20,6 +20,8 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
$(LN_S) $(SHLIB_NAME) $(SHLIB_SONAME)
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
-SHLIB_INSTALL = $(INSTALL_DATA) $(SHLIB_NAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_SONAME); \
+SHLIB_INSTALL = \
+ $$(mkinstalldirs) $$(DESTDIR)$$(slibdir); \
+ $(INSTALL_DATA) $(SHLIB_NAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_SONAME); \
rm -f $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME); \
$(LN_S) $(SHLIB_SONAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME)
===================================================================
Index: config/ia64/t-hpux
--- config/ia64/t-hpux 19 Feb 2005 11:44:07 -0000 1.10
+++ config/ia64/t-hpux 28 Feb 2005 04:37:25 -0000
@@ -38,7 +38,9 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
$(LN_S) @shlib_base_name@.so @multilib_dir@/@shlib_base_name@.so.0
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
-SHLIB_INSTALL = $(INSTALL_DATA) @multilib_dir@/@shlib_base_name@.so \
+SHLIB_INSTALL = \
+ $$(mkinstalldirs) $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@; \
+ $(INSTALL_DATA) @multilib_dir@/@shlib_base_name@.so \
$$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so.0; \
rm -f $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so; \
$(LN_S) @shlib_base_name@.so.0 \
===================================================================
Index: config/pa/t-hpux-shlib
--- config/pa/t-hpux-shlib 19 Feb 2005 11:44:08 -0000 1.5
+++ config/pa/t-hpux-shlib 28 Feb 2005 04:37:25 -0000
@@ -19,9 +19,10 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
-SHLIB_INSTALL = $(INSTALL_DATA) -m 555 $(SHLIB_DIR)/$(SHLIB_NAME) \
+SHLIB_INSTALL = \
+ $$(mkinstalldirs) $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
+ $(INSTALL_DATA) -m 555 $(SHLIB_DIR)/$(SHLIB_NAME) \
$$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \
rm -f $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_NAME); \
$(LN_S) $(SHLIB_SONAME) \
$$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_NAME)
-