-link_o.hpux64:
- @ $(CALC_VERSIONS); \
- SHLIB=lib$(LIBNAME).sl \
- SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS) -lc" \
- ALLSYMSFLAGS='+forceload' \
- NOALLSYMSFLAGS='' \
- SHAREDFLAGS='-b -z +h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX' \
- SHAREDCMD='/usr/ccs/bin/ld'; \
- $(LINK_SO_O) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
-link_a.hpux64:
- @ $(CALC_VERSIONS); \
- SHLIB=lib$(LIBNAME).sl \
- SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS) -lc" \
- ALLSYMSFLAGS='+forceload' \
- NOALLSYMSFLAGS='' \
- SHAREDFLAGS='-b -z +h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX' \
- SHAREDCMD='/usr/ccs/bin/ld'; \
- $(LINK_SO_A) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
-
-link_o.aix:
- @ $(CALC_VERSIONS); \
- SHLIB=lib$(LIBNAME).so \
- SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS) -lc" \
- ALLSYMSFLAGS='-bnogc' \
- NOALLSYMSFLAGS='' \
- SHAREDFLAGS='-G -bE:lib$(LIBNAME).exp -bM:SRE' \
- SHAREDCMD='$(CC)'; \
- $(LINK_SO_O)
-link_a.aix:
- @ $(CALC_VERSIONS); \
- SHLIB=lib$(LIBNAME).so \
- SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS) -lc" \
- ALLSYMSFLAGS='-bnogc' \
- NOALLSYMSFLAGS='' \
- SHAREDFLAGS='-G -bE:lib$(LIBNAME).exp -bM:SRE' \
- SHAREDCMD='$(CC)'; \
- $(LINK_SO_A_VIA_O)
-
-link_o.reliantunix:
- @ $(CALC_VERSIONS); \
- SHLIB=lib$(LIBNAME).so \
- SHLIB_SUFFIX= \
- LIBDEPS="$(LIBDEPS) -lc" \
- ALLSYMSFLAGS= \
- NOALLSYMSFLAGS='' \
- SHAREDFLAGS='-G' \
- SHAREDCMD='$(CC)'; \
- $(LINK_SO_O)
-link_a.reliantunix:
+link_dso.hpux:
+ @if $(DETECT_GNU_LD); then $(DO_GNU_DSO); else \
+ SHLIB=$(LIBNAME).sl; \
+ expr "$(CFLAGS)" : '.*DSO_DLFCN' > /dev/null && SHLIB=$(LIBNAME).so; \
+ SHLIB_SUFFIX=; \
+ ALLSYMSFLAGS=''; \
+ NOALLSYMSFLAGS=''; \
+ expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SUFFIX,+cdp,../:,+cdp,./:"; \
+ fi; \
+ rm -f $$SHLIB$$SHLIB_SUFFIX || :; \
+ $(LINK_SO_DSO) && chmod a=rx $$SHLIB$$SHLIB_SUFFIX
+link_shlib.hpux:
+ @if $(DETECT_GNU_LD); then $(DO_GNU_SO); else \
+ $(CALC_VERSIONS); \
+ SHLIB=lib$(LIBNAME).sl; \
+ expr $(PLATFORM) : '.*ia64' > /dev/null && SHLIB=lib$(LIBNAME).so; \
+ SHLIB_SUFFIX=; \
+ ALLSYMSFLAGS='-Wl,-Fl'; \
+ NOALLSYMSFLAGS=''; \
+ expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,+cdp,../:,+cdp,./:"; \
+ fi; \
+ rm -f $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX || :; \
+ $(LINK_SO_SHLIB) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
+link_app.hpux:
+ @if $(DETECT_GNU_LD); then $(DO_GNU_APP); else \
+ LDFLAGS="$(CFLAGS) $(LDFLAGS) -Wl,+s,+cdp,../:,+cdp,./:,+b,$(LIBRPATH)"; \
+ fi; \
+ $(LINK_APP)
+
+link_dso.aix:
+ @OBJECT_MODE=`expr "x$(SHARED_LDFLAGS)" : 'x\-[a-z]*\(64\)'` || :; \
+ OBJECT_MODE=$${OBJECT_MODE:-32}; export OBJECT_MODE; \
+ SHLIB=$(LIBNAME).so; \
+ SHLIB_SUFFIX=; \
+ ALLSYMSFLAGS=''; \
+ NOALLSYMSFLAGS=''; \
+ SHAREDFLAGS='$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-bexpall,-bnolibpath,-bM:SRE'; \
+ $(LINK_SO_DSO);
+link_shlib.aix: