Hi folks,

I was pleased to see that openssl 0.9.6c finally tries to support
building shared libraries on HPUX.  It's not quite there yet, though.
I recommend the attached patch.

I see that in your CVS head the hpux make targets have been patched
in a different way, but I consider that solution inferior: it's
gratuitously different from all the other platforms, it deliberately
breaks HPUX's shared lib dependency records, and it still doesn't fix
the *real* problem, which is to make sure that libssl.sl contains the
correct absolute path for libcrypto.sl so that the latter can be found
when the former is loaded.  The right way to make that happen, IMHO,
is to set the absolute path in libcrypto.sl's internal name --- see +h
switch in the attached.

                        regards, tom lane


*** Makefile.org~       Wed Nov 14 05:44:11 2001
--- Makefile.org        Sat Feb 16 17:59:40 2002
***************
*** 362,382 ****
  
  # This assumes that GNU utilities are *not* used
  do_hpux-shared:
!       libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
        ( set -x; /usr/ccs/bin/ld +vnocompatwarnings \
                -b -z -o 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; \
!       libs="$$libs -L. -l$$i"; \
        done
  
  # This assumes that GNU utilities are *not* used
  do_hpux64-shared:
!       libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
        ( set -x; /usr/ccs/bin/ld -b -z -o 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; \
!       libs="$$libs -L. -l$$i"; \
        done
  
  # The following method is said to work on all platforms.  Tests will
--- 362,382 ----
  
  # This assumes that GNU utilities are *not* used
  do_hpux-shared:
!       libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
        ( set -x; /usr/ccs/bin/ld +vnocompatwarnings \
                -b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
!               +h $(INSTALLTOP)/lib/lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
                -Fl lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
!       libs="$$libs -l$$i"; \
        done
  
  # This assumes that GNU utilities are *not* used
  do_hpux64-shared:
!       libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
        ( set -x; /usr/ccs/bin/ld -b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
!               +h $(INSTALLTOP)/lib/lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
                +forceload lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
!       libs="$$libs -l$$i"; \
        done
  
  # The following method is said to work on all platforms.  Tests will
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to