diff options
author | grant <grant@pkgsrc.org> | 2004-12-19 02:48:32 +0000 |
---|---|---|
committer | grant <grant@pkgsrc.org> | 2004-12-19 02:48:32 +0000 |
commit | 830d7cd76eff7bf7fb5acda73baebc5d09adc9d0 (patch) | |
tree | 7e797130b5d52be5957e87190bb73ddb54f55c17 /security | |
parent | a825bd67656cda660b7b0e4b8203ec8c33d1b85f (diff) | |
download | pkgsrc-830d7cd76eff7bf7fb5acda73baebc5d09adc9d0.tar.gz |
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 (limited to 'security')
-rw-r--r-- | security/openssl/distinfo | 4 | ||||
-rw-r--r-- | security/openssl/patches/patch-af | 25 |
2 files changed, 23 insertions, 6 deletions
diff --git a/security/openssl/distinfo b/security/openssl/distinfo index b52d2abd61a..6536fe7b467 100644 --- a/security/openssl/distinfo +++ b/security/openssl/distinfo @@ -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-ab) = cfbcaa52bec88987b8a63725b84adfd58b324032 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 --git a/security/openssl/patches/patch-af b/security/openssl/patches/patch-af index 241f4a9472c..3ff5d82a628 100644 --- a/security/openssl/patches/patch-af +++ b/security/openssl/patches/patch-af @@ -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 @@ $NetBSD: patch-af,v 1.11 2004/04/25 20:36:11 tv Exp $ -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 @@ $NetBSD: patch-af,v 1.11 2004/04/25 20:36:11 tv Exp $ # 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) |