* configure.in (slibdir): Accept an --with-slibdir option.
Use "test" not "[" in configure. Default to $(libdir).
+ * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
+ fix typo in rm -f.
+ * config/t-aix43 (SHLIB_INSTALL): Likewise.
+ * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
+ (SHLIB_LINK): Create links for the soname.
+ * config/mips/t-iris6: Likewise.
+ * config/sparc/t-slibgcc: Likewise.
+ * config/sparc/t-slibgcc-sld: Likewise.
+
2001-01-07 Jakub Jelinek <jakub@redhat.com>
* config/i386/i386.c (constant_call_address_operand): Accept
SHLIB_EXT = .so
SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-Wl,-msym -Wl,-set_version,gcc.0 -Wl,-soname,@shlib_base_name@.so.0 \
- -o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc
-SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $(slibdir)/@shlib_base_name@.so.0; \
- rm -f $(slibdir)/@shlib_base_name@; \
- $(LN_S) @shlib_base_name@.so.0 $(slibdir)/@shlib_base_name@.so
+ -o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && \
+ rm -f @shlib_base_name@.so.0 && \
+ $(LN_S) @shlib_base_name@.so @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) @shlib_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
+ rm -f $$(slibdir)/@shlib_base_name@.so; \
+ $(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
SHLIB_EXT = .so
SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-Wl,-soname,@shlib_base_name@.so.0 \
- -o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc
+ -o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && \
+ rm -f @shlib_base_name@.so.0 && \
+ $(LN_S) @shlib_base_name@.so @shlib_base_name@.so.0
# ??? Irix 6.5 seems to eat the option fine (if we somehow remove the
# -hidden_symbol option, which is documented to be ignored in conjunction
# with -exports_file), but fails to actually hide any symbols.
-# -Wl,-exports_file,@shlib_map_file@
-SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $(slibdir)/@shlib_base_name@.so.0; \
- rm -f $(slibdir)/@shlib_base_name@; \
- $(LN_S) @shlib_base_name@.so.0 $(slibdir)/@shlib_base_name@.so
+# -Wl,-exports_file,@shlib_map_file@
+
+# $(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_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
+ rm -f $$(slibdir)/@shlib_base_name@.so; \
+ $(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
$(AR_CREATE_FOR_TARGET) tmp-@shlib_base_name@.a @multilib_dir@/shr.o ; \
mv tmp-@shlib_base_name@.a @shlib_base_name@.a ; \
rm -f @multilib_dir@/shr.o
-SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.a $(slibdir)/
+# $(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_base_name@.a $$(slibdir)/
SHLIB_LIBS = -lc `case @shlib_base_name@ in *pthread*) echo -lpthread ;; esac`
SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-Wl,--soname=@shlib_base_name@.so.0 \
-Wl,--version-script=@shlib_map_file@ \
- -o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc
-SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $(slibdir)/@shlib_base_name@.so.0; \
- rm -f $(slibdir)/@shlib_base_name@; \
- $(LN_S) @shlib_base_name@.so.0 $(slibdir)/@shlib_base_name@.so
+ -o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && \
+ rm -f @shlib_base_name@.so.0 && \
+ $(LN_S) @shlib_base_name@.so @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) @shlib_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
+ rm -f $$(slibdir)/@shlib_base_name@.so; \
+ $(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-Wl,-h,@shlib_base_name@.so.0 -Wl,-z,text -Wl,-z,defs \
-Wl,-M,@shlib_map_file@ -o @shlib_base_name@.so \
- @multilib_flags@ @shlib_objs@ -lc
-SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $(slibdir)/@shlib_base_name@.so.0; \
- rm -f $(slibdir)/@shlib_base_name@; \
- $(LN_S) @shlib_base_name@.so.0 $(slibdir)/@shlib_base_name@.so
+ @multilib_flags@ @shlib_objs@ -lc && \
+ rm -f @shlib_base_name@.so.0 && \
+ $(LN_S) @shlib_base_name@.so @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) @shlib_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
+ rm -f $$(slibdir)/@shlib_base_name@.so; \
+ $(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
-o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && \
rm -f @shlib_base_name@.so.0 && \
$(LN_S) @shlib_base_name@.so @shlib_base_name@.so.0
-SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $(slibdir)/@shlib_base_name@.so.0; \
- rm -f $(slibdir)/@shlib_base_name@; \
- $(LN_S) @shlib_base_name@.so.0 $(slibdir)/@shlib_base_name@.so
+# $(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_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
+ rm -f $$(slibdir)/@shlib_base_name@.so; \
+ $(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/libgcc-glibc.ver