- expr $(PLATFORM) : '.*64' > /dev/null && ALLSYMFLAGS='-Wl,+forceload'; \
- SHAREDFLAGS="-Wl,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX,+b,$(LIBRPATH)"; \
- SHAREDCMD='$(CC)'; \
- $(LINK_SO_A) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
-link_app.hpux32:
- LDCMD=$(CC);\
- LDFLAGS="-Wl,+b,$(LIBRPATH)"; \
- LIBDEPS="$(LIBDEPS)"; \
- APPNAME="$(APPNAME)"; \
- $(LINK_APP)
-
-# HP-UX includes the full pathname of libs we depend on, so we would get
-# ./libcrypto (with ./ as path information) compiled into libssl, hence
-# we omit the SHLIBDEPS. Applications must be linked with -lssl -lcrypto
-# anyway.
-#
-# HP-UX in 64bit mode has "+s" enabled by default; it will search for
-# shared libraries along LD_LIBRARY_PATH _and_ SHLIB_PATH.
-#
-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 +b $(LIBRPATH)"; \
- 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 +b $(LIBRPATH)"; \
- SHAREDCMD='/usr/ccs/bin/ld'; \
- $(LINK_SO_A) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
-link_app.hpux64:
- LDCMD=$(CC);\
- LDFLAGS="-Wl,+b,$(LIBRPATH)"; \
- LIBDEPS="$(LIBDEPS) -lc"; \
- APPNAME="$(APPNAME)"
+ expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$(SHLIBNAME_FULL),+cdp,../:,+cdp,./:"; \
+ fi; \
+ rm -f $(SHLIBNAME_FULL) || :; \
+ $(LINK_SO_SHLIB) && chmod a=rx $(SHLIBNAME_FULL)
+link_app.hpux:
+ @if $(DETECT_GNU_LD); then $(DO_GNU_APP); else \
+ LDFLAGS="$(CFLAGS) $(LDFLAGS) -Wl,+s,+cdp,../:,+cdp,./:"; \
+ fi; \