summaryrefslogtreecommitdiff
path: root/Makefile.shared
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.shared')
-rw-r--r--Makefile.shared199
1 files changed, 66 insertions, 133 deletions
diff --git a/Makefile.shared b/Makefile.shared
index 83e1bd89d6..e91804fcb0 100644
--- a/Makefile.shared
+++ b/Makefile.shared
@@ -67,7 +67,7 @@ CALC_VERSIONS= \
SHLIB_SOVER_NODOT=$$v \
SHLIB_SOVER=.$$v; \
if [ -n "$$prev" ]; then \
- SHLIB_COMPAT=$$SHLIB_COMPAT .$$prev; \
+ SHLIB_COMPAT="$$SHLIB_COMPAT .$$prev"; \
fi; \
prev=$$v; \
done; \
@@ -81,7 +81,7 @@ LINK_SO= \
$(SYMLINK_SO); ( $(DEBUG); rm -f lib$(LIBNAME).exp )
SYMLINK_SO= \
prev=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \
- if [ -n "$$SHLIB_COMPAT"]; then \
+ if [ -n "$$SHLIB_COMPAT" ]; then \
for x in $$SHLIB_COMPAT; do \
( $(DEBUG); rm -f $$SHLIB$$x$$SHLIB_SUFFIX; \
ln -s $$prev $$SHLIB$$x$$SHLIB_SUFFIX ); \
@@ -110,33 +110,26 @@ DETECT_GNU_LD=${CC} -v 2>&1 | grep '^gcc' >/dev/null 2>&1 && \
my_ld=`gcc -print-prog-name=ld 2>&1` && \
[ -n "$$my_ld" ] && \
$$my_ld -v 2>&1 | grep 'GNU ld' >/dev/null 2>&1
-
-link_o.gnu:
- @ $(CALC_VERSIONS); \
- SHLIB=lib$(LIBNAME).so \
- SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
- NOALLSYMSFLAGS='-Wl,--no-whole-archive' \
- SHAREDFLAGS="-shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" \
- SHAREDCMD='$(CC)'; \
- $(LINK_SO_O)
-link_a.gnu:
- @ $(CALC_VERSIONS); \
+DO_GNU=$(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS='-Wl,--whole-archive' \
NOALLSYMSFLAGS='-Wl,--no-whole-archive' \
SHAREDFLAGS="-shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" \
- SHAREDCMD='$(CC)'; \
- $(LINK_SO_A)
+ SHAREDCMD='$(CC)'
+
+link_o.gnu:
+ @ $(DO_GNU); $(LINK_SO_O)
+link_a.gnu:
+ @ $(DO_GNU); $(LINK_SO_A)
# For Darwin AKA Mac OS/X (dyld)
link_o.darwin:
@ $(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME) \
SHLIB_SUFFIX=.dylib \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS='-all_load' \
NOALLSYMSFLAGS='' \
SHAREDFLAGS="-dynamiclib" \
@@ -152,7 +145,7 @@ link_a.darwin:
@ $(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME) \
SHLIB_SUFFIX=.dylib \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS='-all_load' \
NOALLSYMSFLAGS='' \
SHAREDFLAGS="-dynamiclib" \
@@ -168,7 +161,7 @@ link_a.darwin:
link_o.cygwin:
@ SHLIB=cyg$(LIBNAME).dll \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
SHLIB_SOVER= \
ALLSYMSFLAGS='-Wl,--whole-archive' \
NOALLSYMSFLAGS='-Wl,--no-whole-archive' \
@@ -178,7 +171,7 @@ link_o.cygwin:
link_a.cygwin:
@ SHLIB=cyg$(LIBNAME).dll \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
SHLIB_SOVER= \
ALLSYMSFLAGS='-Wl,--whole-archive' \
NOALLSYMSFLAGS='-Wl,--no-whole-archive' \
@@ -188,16 +181,11 @@ link_a.cygwin:
link_o.alpha-osf1:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
if [ -n "$$SHLIB_HIST" ]; then \
SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
@@ -212,20 +200,15 @@ link_o.alpha-osf1:
if [ -n "$$SHLIB_HIST" ]; then \
SHAREDFLAGS="$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
fi; \
- $(LINK_SO_O); \
- fi
+ fi; \
+ $(LINK_SO_O)
link_a.alpha-osf1:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
if [ -n "$$SHLIB_HIST" ]; then \
SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
@@ -240,23 +223,18 @@ link_a.alpha-osf1:
if [ -n "$$SHLIB_HIST" ]; then \
SHAREDFLAGS="$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
fi; \
- $(LINK_SO_A); \
- fi
+ fi; \
+ $(LINK_SO_A)
# The difference between alpha-osf1-shared and tru64-shared is the `-msym'
# option passed to the linker.
link_o.tru64:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
if [ -n "$$SHLIB_HIST" ]; then \
SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
@@ -271,20 +249,15 @@ link_o.tru64:
if [ -n "$$SHLIB_HIST" ]; then \
SHAREDFLAGS="$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
fi; \
- $(LINK_SO_O); \
- fi
+ fi; \
+ $(LINK_SO_O)
link_a.tru64:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
if [ -n "$$SHLIB_HIST" ]; then \
SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
@@ -299,23 +272,18 @@ link_a.tru64:
if [ -n "$$SHLIB_HIST" ]; then \
SHAREDFLAGS="$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
fi; \
- $(LINK_SO_A); \
- fi
+ fi; \
+ $(LINK_SO_A)
# The difference between tru64-shared and tru64-shared-rpath is the
# -rpath ${LIBRPATH} passed to the linker.
link_o.tru64-rpath:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
if [ -n "$$SHLIB_HIST" ]; then \
SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
@@ -330,20 +298,15 @@ link_o.tru64-rpath:
if [ -n "$$SHLIB_HIST" ]; then \
SHAREDFLAGS="$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
fi; \
- $(LINK_SO_O); \
- fi
+ fi; \
+ $(LINK_SO_O)
link_a.tru64-rpath:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
SHLIB_HIST=`echo "$(LIBCOMPATVERSIONS)" | cut -d';' -f2 | sed -e 's/ */:/'`; \
if [ -n "$$SHLIB_HIST" ]; then \
SHLIB_HIST="$${SHLIB_HIST}:$(LIBVERSION)"; \
@@ -358,127 +321,97 @@ link_a.tru64-rpath:
if [ -n "$$SHLIB_HIST" ]; then \
SHAREDFLAGS="$SHAREDFLAGS -set_version \"$$SHLIB_HIST\""; \
fi; \
- $(LINK_SO_A); \
- fi
+ fi; \
+ $(LINK_SO_A)
link_o.solaris:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
$(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS='-z allextract' \
NOALLSYMSFLAGS='' \
SHAREDFLAGS='-G -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX' \
SHAREDCMD='$(CC)'; \
- $(LINK_SO_O); \
- fi
+ fi; \
+ $(LINK_SO_O)
link_a.solaris:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
$(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS='-z allextract' \
NOALLSYMSFLAGS='' \
SHAREDFLAGS='-G -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX' \
SHAREDCMD='$(CC)'; \
- $(LINK_SO_A); \
- fi
+ fi; \
+ $(LINK_SO_A)
# OpenServer 5 native compilers used
# UnixWare 7 and OpenUNIX 8 native compilers used
link_o.svr3:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
$(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS='-z allextract' \
NOALLSYMSFLAGS='' \
SHAREDFLAGS='-G -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX' \
SHAREDCMD='$(CC)'; \
- $(LINK_SO_O); \
- fi
+ fi; \
+ $(LINK_SO_O)
link_a.svr3:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
$(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS='-z allextract' \
NOALLSYMSFLAGS='' \
SHAREDFLAGS='-G -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX' \
SHAREDCMD='$(CC)'; \
- $(LINK_SO_A_UNPACKED); \
- fi
+ fi; \
+ $(LINK_SO_A_UNPACKED)
link_o.irix:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
$(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS='-all' \
NOALLSYMSFLAGS='' \
SHAREDFLAGS='-shared -Wl,-soname,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX' \
SHAREDCMD='$(CC)'; \
- $(LINK_SO_O); \
- fi
+ fi; \
+ $(LINK_SO_O)
link_a.irix:
@ if ${DETECT_GNU_LD}; then \
- $(MAKE) -f $(SHARED_MAKEFILE) CC="$(CC)" LDFLAGS="$(LDFLAGS) \
- SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
- LIBNAME="$(LIBNAME)" LIBEXTRAS="$(LIBEXTRAS)" \
- LIBVERSION="$(LIBVERSION)"
- LIBCOMPATVERSIONS="$(LIBCOMPATVERSIONS)" \
- LIBDEPS="$(LIBDEPS)" link_o.gnu; \
+ $(DO_GNU); \
else \
$(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS='-all' \
NOALLSYMSFLAGS='' \
SHAREDFLAGS='-shared -Wl,-soname,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX' \
SHAREDCMD='$(CC)'; \
- $(LINK_SO_A); \
- fi
+ fi; \
+ $(LINK_SO_A)
# HP-UX includes the full pathname of libs we depend on, so we would get
# ./libcrypto (with ./ as path information) compiled into libssl, hence
@@ -544,7 +477,7 @@ link_o.aix:
@ $(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS='-bnogc' \
NOALLSYMSFLAGS='' \
SHAREDFLAGS='-G -bE:lib$(LIBNAME).exp -bM:SRE' \
@@ -554,7 +487,7 @@ link_a.aix:
@ $(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS='-bnogc' \
NOALLSYMSFLAGS='' \
SHAREDFLAGS='-G -bE:lib$(LIBNAME).exp -bM:SRE' \
@@ -565,7 +498,7 @@ link_o.reliantunix:
@ $(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS= \
NOALLSYMSFLAGS='' \
SHAREDFLAGS='-G' \
@@ -575,7 +508,7 @@ link_a.reliantunix:
@ $(CALC_VERSIONS); \
SHLIB=lib$(LIBNAME).so \
SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS)" \
+ LIBDEPS="$(LIBDEPS) -lc" \
ALLSYMSFLAGS= \
NOALLSYMSFLAGS='' \
SHAREDFLAGS='-G' \