X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=gcc%2Fconfig%2Ft-slibgcc-sld;fp=gcc%2Fconfig%2Ft-slibgcc-sld;h=02d21c6de678177797e64b4da7d31fc76f680fe9;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=6bdd521da1be17b5308afb99b97907c5082c9b07;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/config/t-slibgcc-sld b/gcc/config/t-slibgcc-sld index 6bdd521d..02d21c6d 100644 --- a/gcc/config/t-slibgcc-sld +++ b/gcc/config/t-slibgcc-sld @@ -2,23 +2,28 @@ SHLIB_EXT = .so SHLIB_SOLINK = @shlib_base_name@.so -SHLIB_SONAME = @shlib_so_name@.so.1 -SHLIB_NAME = @shlib_dir@@shlib_so_name@.so.1 +SHLIB_SONAME = @shlib_base_name@.so.1 SHLIB_MAP = @shlib_map_file@ SHLIB_OBJS = @shlib_objs@ +SHLIB_DIR = @multilib_dir@ SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ -Wl,-h,$(SHLIB_SONAME) -Wl,-z,text -Wl,-z,defs \ - -Wl,-M,$(SHLIB_MAP) -o $(SHLIB_NAME) \ + -Wl,-M,$(SHLIB_MAP) -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp \ @multilib_flags@ $(SHLIB_OBJS) -lc && \ - rm -f $(SHLIB_SOLINK) && \ - $(LN_S) $(SHLIB_NAME) $(SHLIB_SOLINK) + rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \ + if [ -f $(SHLIB_DIR)/$(SHLIB_SONAME) ]; then \ + mv -f $(SHLIB_DIR)/$(SHLIB_SONAME) \ + $(SHLIB_DIR)/$(SHLIB_SONAME).backup; \ + else true; fi && \ + mv $(SHLIB_DIR)/$(SHLIB_SONAME).tmp $(SHLIB_DIR)/$(SHLIB_SONAME) && \ + $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK) # $(slibdir) double quoted to protect it from expansion while building # libgcc.mk. We want this delayed until actual install time. SHLIB_INSTALL = \ - $$(SHELL) $$(srcdir)/mkinstalldirs $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL); \ - $(INSTALL_DATA) $(SHLIB_NAME) \ + $$(mkinstalldirs) $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL); \ + $(INSTALL_DATA) $(SHLIB_DIR)/$(SHLIB_SONAME) \ $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \ rm -f $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \ $(LN_S) $(SHLIB_SONAME) \