summaryrefslogtreecommitdiff
path: root/gcc/config/t-slibgcc-darwin
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-30 18:08:26 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-30 18:08:26 +0000
commit91d4be5a944658871239470c330c3f809ac0ee0c (patch)
tree38c2733c3d9c266c6c3a2ab1886e512dc928e369 /gcc/config/t-slibgcc-darwin
parentbd45c3777ce6dee717b34cdb2cc624f7f3f3e08b (diff)
downloadgcc-91d4be5a944658871239470c330c3f809ac0ee0c.tar.gz
* config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks
before creating new ones. Do symlinks before creating the actual targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104826 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/t-slibgcc-darwin')
-rw-r--r--gcc/config/t-slibgcc-darwin15
1 files changed, 8 insertions, 7 deletions
diff --git a/gcc/config/t-slibgcc-darwin b/gcc/config/t-slibgcc-darwin
index 3a2fc185c41..ace3ae971df 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'