HP-UX shared libraries do not build any longer, as EX_LIBS contains
"-Wl,+s" instead of +s: * Hardcoded necessary references to -ldld/-ldl into the build rules and removed EX_LIBS. HP-UX records the pathnames of dependent libraries when the shared libs are built, so that ./libcrypto.sl... is recorded in libssl.sl..., with "./" not being resolvable when running an application linked against -lssl: * Build libssl without explicit reference to libcrypto, applications will be linked with "-lssl -lcrypto" anyway. Document these informations in Makefile.org.
This commit is contained in:
parent
6a8ba34f9d
commit
305db17b5f
34
Makefile.org
34
Makefile.org
@ -291,22 +291,40 @@ do_irix-shared:
|
|||||||
done
|
done
|
||||||
|
|
||||||
# This assumes that GNU utilities are *not* used
|
# This assumes that GNU utilities are *not* used
|
||||||
|
# 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.
|
||||||
|
# The object modules are loaded from lib$i.a using the undocumented -Fl
|
||||||
|
# option.
|
||||||
|
#
|
||||||
|
# WARNING: Until DSO is fixed to support a search path, we support SHLIB_PATH
|
||||||
|
# by temporarily specifying "+s"!
|
||||||
|
#
|
||||||
do_hpux-shared:
|
do_hpux-shared:
|
||||||
libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
for i in ${SHLIBDIRS}; do \
|
||||||
( set -x; /usr/ccs/bin/ld +vnocompatwarnings \
|
( set -x; /usr/ccs/bin/ld +vnocompatwarnings \
|
||||||
-b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
-b -z +s \
|
||||||
|
-o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||||
+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||||
-Fl lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
|
-Fl lib$$i.a -ldld -lc ) || exit 1; \
|
||||||
libs="$$libs -L. -l$$i"; \
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# This assumes that GNU utilities are *not* used
|
# This assumes that GNU utilities are *not* used
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
do_hpux64-shared:
|
do_hpux64-shared:
|
||||||
libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
for i in ${SHLIBDIRS}; do \
|
||||||
( set -x; /usr/ccs/bin/ld -b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
( set -x; /usr/ccs/bin/ld -b -z \
|
||||||
|
-o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||||
+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||||
+forceload lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
|
+forceload lib$$i.a -ldl -lc ) || exit 1; \
|
||||||
libs="$$libs -L. -l$$i"; \
|
|
||||||
done
|
done
|
||||||
|
|
||||||
Makefile.ssl: Makefile.org
|
Makefile.ssl: Makefile.org
|
||||||
|
Loading…
x
Reference in New Issue
Block a user