From: Geoffrey Keating Date: Fri, 30 Sep 2005 18:08:26 +0000 (+0000) Subject: t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks before creating new ones. X-Git-Tag: misc/cutover-cvs2svn~391 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f46876f99ca558a311cf215f9eec26a4db4097e0;p=thirdparty%2Fgcc.git t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks before creating new ones. * config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks before creating new ones. Do symlinks before creating the actual targets. From-SVN: r104826 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 58ed17dffb20..00107daa2991 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2005-09-30 Geoffrey Keating + * config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks + before creating new ones. Do symlinks before creating the actual + targets. + * config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib to work out which multilibs are actually being built. diff --git a/gcc/config/t-slibgcc-darwin b/gcc/config/t-slibgcc-darwin index 3a2fc185c41c..ace3ae971df4 100644 --- a/gcc/config/t-slibgcc-darwin +++ b/gcc/config/t-slibgcc-darwin @@ -45,6 +45,14 @@ ASM_HIDDEN_OP = .private_extern # # This assumes each multilib corresponds to a different architecture. libgcc_s.%.dylib : $(SHLIB_VERPFX).%.ver libgcc.a + # When builting multilibbed target libraries, all the required + # libraries are expected to exist in the multilib directory. + MLIBS=`$(GCC_FOR_TARGET) --print-multi-lib \ + | sed -e 's/;.*$$//' -e '/^\.$$/d'` ; \ + for mlib in $$MLIBS ; do \ + rm -f $${mlib}/$@ || exit 1 ; \ + $(LN_S) ../$@ $${mlib}/$@ || exit 1 ; \ + done MLIBS=`$(GCC_FOR_TARGET) --print-multi-lib \ | sed -e 's/;.*$$//' -e '/^\.$$/d' -e 's/^/_/'` ; \ for mlib in '' $$MLIBS ; do \ @@ -53,13 +61,6 @@ libgcc_s.%.dylib : $(SHLIB_VERPFX).%.ver libgcc.a libgcc_s$${mlib}.$(SHLIB_SOVERSION)$(SHLIB_EXT) || exit 1 ; \ done $(LIPO_FOR_TARGET) -output $@ -create $(@)_T* - # When builting multilibbed target libraries, all the required - # libraries are expected to exist in the multilib directory. - MLIBS=`$(GCC_FOR_TARGET) --print-multi-lib \ - | sed -e 's/;.*$$//' -e '/^\.$$/d'` ; \ - for mlib in $$MLIBS ; do \ - ln -s ../$@ $${mlib}/$@ || exit 1 ; \ - done rm $(@)_T* # From the point-of-view of the Makefiles, libgcc is built by the 'strip'