Bring in the following changes:
ln on Solaris expects -f to come before -s. The linux-shared method is actually gcc-specific, so call it gnu-shared as well. When using the native tools on Solaris, make damn sure the native ld is used, even if the user has GNU ld earlier in his $PATH.
This commit is contained in:
parent
9bcab53f49
commit
3ae82255a9
1 changed files with 5 additions and 3 deletions
|
@ -242,7 +242,7 @@ link-shared:
|
|||
if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
|
||||
tmp="$(SHARED_LIBS_LINK_EXTS)"; \
|
||||
for j in $${tmp:-x}; do \
|
||||
( set -x; ln -s -f $$prev lib$$i$$j ); \
|
||||
( set -x; ln -f -s $$prev lib$$i$$j ); \
|
||||
prev=lib$$i$$j; \
|
||||
done; \
|
||||
fi; \
|
||||
|
@ -251,7 +251,8 @@ link-shared:
|
|||
build-shared: clean-shared do_$(SHLIB_TARGET) link-shared
|
||||
|
||||
do_bsd-gcc-shared: linux-shared
|
||||
do_linux-shared:
|
||||
do_linux-shared: do_gnu-shared
|
||||
do_gnu-shared:
|
||||
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
||||
( set -x; ${CC} -shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
-Wl,-S,-soname=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
|
@ -272,7 +273,8 @@ do_tru64-shared:
|
|||
# This assumes that GNU utilities are *not* used
|
||||
do_solaris-shared:
|
||||
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
||||
( set -x; ${CC} -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
( PATH=/usr/ccs/bin:$$PATH ; export PATH; \
|
||||
set -x; ${CC} -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
-h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
-z allextract lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
|
||||
libs="$$libs -l$$i"; \
|
||||
|
|
Loading…
Reference in a new issue