From 515ac3debb020262a50a45c8f1612c021743977e Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Thu, 3 Feb 2005 11:09:20 +0000 Subject: [PATCH] Final HP-UX specific touches to "cope with run-time linker on multi-ABI platforms." --- Configure | 4 ++-- Makefile.org | 22 ++++++++++++++++------ TABLE | 4 ++-- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Configure b/Configure index e89e432791..1bd5498e1f 100755 --- a/Configure +++ b/Configure @@ -270,10 +270,10 @@ my %table=( "hpux64-parisc2-gcc","gcc:-O3 -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/pa-risc2W.o:::::::::dlfcn:hpux64-shared:-fpic::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", # IA-64 targets -"hpux-ia64-cc","cc:-Ae +DD32 +O3 +Olit=all -z -DB_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:asm/ia64-cpp.o::::asm/sha1-ia64.o::asm/rc4-ia64.o:::dlfcn:hpux-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"hpux-ia64-cc","cc:-Ae +DD32 +O3 +Olit=all -z -DB_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:asm/ia64-cpp.o::::asm/sha1-ia64.o::asm/rc4-ia64.o:::dlfcn:hpux-shared:+Z::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", # Frank Geurts has patiently assisted with # with debugging of the following config. -"hpux64-ia64-cc","cc:-Ae +DD64 +O3 +Olit=all -z -DB_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:asm/ia64-cpp.o::::asm/sha1-ia64.o::asm/rc4-ia64.o:::dlfcn:hpux64-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"hpux64-ia64-cc","cc:-Ae +DD64 +O3 +Olit=all -z -DB_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:asm/ia64-cpp.o::::asm/sha1-ia64.o::asm/rc4-ia64.o:::dlfcn:hpux64-shared:+Z::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", # More attempts at unified 10.X and 11.X targets for HP C compiler. # diff --git a/Makefile.org b/Makefile.org index 3b72486d04..afe3d43d1c 100644 --- a/Makefile.org +++ b/Makefile.org @@ -505,13 +505,18 @@ do_hpux-shared: if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ libs="$(LIBKRB5) $$libs"; \ fi; \ + if expr $(PLATFORM) : '.*ia64' > /dev/null; then \ + shlib=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}; \ + else \ + shlib=lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR}; \ + fi; \ + [ -f $$shlib ] && rm -f $$shlib; \ ( set -x; /usr/ccs/bin/ld ${SHARED_LDFLAGS} \ +vnocompatwarnings \ -b -z +s \ - -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ - +h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ + -o $$shlib +h $$shlib \ -Fl lib$$i.a -ldld -lc ) || exit 1; \ - chmod a=rx lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR}; \ + chmod a=rx $$shlib; \ done # This assumes that GNU utilities are *not* used @@ -528,12 +533,17 @@ do_hpux64-shared: if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ libs="$(LIBKRB5) $$libs"; \ fi; \ + if expr $(PLATFORM) : '.*ia64' > /dev/null; then \ + shlib=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}; \ + else \ + shlib=lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR}; \ + fi; \ + [ -f $$shlib ] && rm -f $$shlib; \ ( set -x; /usr/ccs/bin/ld ${SHARED_LDFLAGS} \ -b -z \ - -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ - +h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ + -o $$shlib +h $$shlib \ +forceload lib$$i.a -ldl -lc ) || exit 1; \ - chmod a=rx lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR}; \ + chmod a=rx $$shlib; \ done # The following method is said to work on all platforms. Tests will diff --git a/TABLE b/TABLE index 29c47c5c3b..cdc154a53e 100644 --- a/TABLE +++ b/TABLE @@ -2346,7 +2346,7 @@ $dso_scheme = dlfcn $shared_target= hpux-shared $shared_cflag = +Z $shared_ldflag = -$shared_extension = .sl.$(SHLIB_MAJOR).$(SHLIB_MINOR) +$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR) $ranlib = $arflags = @@ -2621,7 +2621,7 @@ $dso_scheme = dlfcn $shared_target= hpux64-shared $shared_cflag = +Z $shared_ldflag = -$shared_extension = .sl.$(SHLIB_MAJOR).$(SHLIB_MINOR) +$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR) $ranlib = $arflags = -- 2.25.1