pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/security/openssl ick: openssl builds PIC static librar...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/7105217914d8
branches:  trunk
changeset: 485704:7105217914d8
user:      grant <grant%pkgsrc.org@localhost>
date:      Sun Dec 19 02:48:32 2004 +0000

description:
ick: openssl builds PIC static libraries and then later uses them to
build shared libraries. on Darwin with xlc, this fails because of the
way xlc invokes Darwin's in-base libtool to create shared libraries,
meaning that the -all_load argument cannot be used to import all
symbols.

work around this the same way as UnixWare does it, by listing the
archive library contents and linking the object files into the shared
library individually. also remove some other assumed gcc'isms to make
this build on Darwin with xlc.

XXX maybe this pkg should be libtool'ized?

diffstat:

 security/openssl/distinfo         |   4 ++--
 security/openssl/patches/patch-af |  25 +++++++++++++++++++++----
 2 files changed, 23 insertions(+), 6 deletions(-)

diffs (64 lines):

diff -r 3693a939c22d -r 7105217914d8 security/openssl/distinfo
--- a/security/openssl/distinfo Sun Dec 19 01:33:36 2004 +0000
+++ b/security/openssl/distinfo Sun Dec 19 02:48:32 2004 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.31 2004/12/17 23:08:36 wiz Exp $
+$NetBSD: distinfo,v 1.32 2004/12/19 02:48:32 grant Exp $
 
 SHA1 (openssl-0.9.6m.tar.gz) = 52414b8867944e2c35940142d38052544dab1358
 Size (openssl-0.9.6m.tar.gz) = 2184918 bytes
@@ -7,6 +7,6 @@
 SHA1 (patch-ac) = 51079a3a9a1e489f337d66d08f10cfc956a689b1
 SHA1 (patch-ad) = ca83a28aedf78706ec4d085cd36d7f3e2ea35cd0
 SHA1 (patch-ae) = f4bf6ae5aa41b55d9978376e4e50ee10c10dd288
-SHA1 (patch-af) = 44fc5a1eee74128a66d98e195a490b88d69958de
+SHA1 (patch-af) = 46b8d52970f27d70f35a41bbcac998379819a11d
 SHA1 (patch-aj) = e300ae91c19214faf3419e7499214a1b536aac18
 SHA1 (patch-ak) = 7f9960a97cbe83c381c2a4565ca3a6e4e661bf54
diff -r 3693a939c22d -r 7105217914d8 security/openssl/patches/patch-af
--- a/security/openssl/patches/patch-af Sun Dec 19 01:33:36 2004 +0000
+++ b/security/openssl/patches/patch-af Sun Dec 19 02:48:32 2004 +0000
@@ -1,6 +1,6 @@
-$NetBSD: patch-af,v 1.11 2004/04/25 20:36:11 tv Exp $
+$NetBSD: patch-af,v 1.12 2004/12/19 02:48:32 grant Exp $
 
---- Makefile.org.orig  Thu Jul  3 17:43:50 2003
+--- Makefile.org.orig  2003-07-04 07:43:50.000000000 +1000
 +++ Makefile.org
 @@ -169,7 +169,7 @@ SDIRS=  \
  MAKEFILE= Makefile.ssl
@@ -21,7 +21,24 @@
                -Wl,--whole-archive lib$$i.a \
                -Wl,--no-whole-archive $$libs ${EX_LIBS} -lc ) || exit 1; \
        libs="$$libs -l$$i"; \
-@@ -449,7 +448,7 @@ do_hpux64-shared:
+@@ -277,8 +276,14 @@ DETECT_GNU_LD=${CC} -v 2>&1 | grep '^gcc
+ # For Darwin AKA Mac OS/X (dyld)
+ do_darwin-shared: 
+       libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
+-      ( set -x ; ${CC} --verbose -dynamiclib -o lib$$i${SHLIB_EXT} \
+-              lib$$i.a $$libs -all_load -current_version ${SHLIB_MAJOR}.${SHLIB_MINOR} \
++      ( set -x ; \
++                find . -name "*.o" -print > allobjs ; \
++                OBJS= ; export OBJS ; \
++                for obj in `ar t lib$$i.a` ; do \
++                  OBJS="$${OBJS} `grep /$$obj allobjs`" ; \
++                done ; \
++              ${CC} -dynamiclib -o lib$$i${SHLIB_EXT} \
++              $$libs $${OBJS} -current_version ${SHLIB_MAJOR}.${SHLIB_MINOR} \
+               -compatibility_version ${SHLIB_MAJOR}.`echo ${SHLIB_MINOR} | cut -d. -f1` \
+               -install_name ${INSTALLTOP}/lib/lib$$i${SHLIB_EXT} ) || exit 1; \
+       libs="$$libs -l`basename $$i${SHLIB_EXT} .dylib`"; \
+@@ -449,7 +454,7 @@ do_hpux64-shared:
  #  HP/UX-64bit: +forceload
  #  AIX:               -bnogc
  # SHAREDFLAGS would be:
@@ -30,7 +47,7 @@
  #  Tru64 Unix:  -shared \
  #             -set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}"
  #  Solaris:     -G -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
-@@ -636,14 +635,14 @@ dist:   
+@@ -636,14 +641,14 @@ dist:   
  dist_pem_h:
        (cd crypto/pem; $(MAKE) CC='${CC}' SDIRS='${SDIRS}' CFLAG='${CFLAG}' pem.h; $(MAKE) clean)
  



Home | Main Index | Thread Index | Old Index