summaryrefslogtreecommitdiff
path: root/lang/perl5/patches/patch-af
diff options
context:
space:
mode:
authortv <tv@pkgsrc.org>1998-12-01 02:47:18 +0000
committertv <tv@pkgsrc.org>1998-12-01 02:47:18 +0000
commit159844d752368d7e08030e11261ceb0efc44476c (patch)
tree4864d615694a9212925176f0cb14b34967da865a /lang/perl5/patches/patch-af
parent63dc67201444063889d31a4c6accb9d29595e05b (diff)
downloadpkgsrc-159844d752368d7e08030e11261ceb0efc44476c.tar.gz
Add proper shared object support for ELF(!), and make libperl shared on
non-NOPIC systems.
Diffstat (limited to 'lang/perl5/patches/patch-af')
-rw-r--r--lang/perl5/patches/patch-af55
1 files changed, 49 insertions, 6 deletions
diff --git a/lang/perl5/patches/patch-af b/lang/perl5/patches/patch-af
index e7efa4b3c92..c89497909f5 100644
--- a/lang/perl5/patches/patch-af
+++ b/lang/perl5/patches/patch-af
@@ -1,13 +1,56 @@
-$NetBSD: patch-af,v 1.2 1998/08/07 11:09:24 agc Exp $
+$NetBSD: patch-af,v 1.3 1998/12/01 02:47:19 tv Exp $
---- hints/netbsd.sh.orig Tue Mar 24 12:24:25 1998
-+++ hints/netbsd.sh Tue Mar 24 12:28:19 1998
-@@ -49,13 +49,16 @@
+--- hints/netbsd.sh.orig Thu May 8 11:52:59 1997
++++ hints/netbsd.sh Mon Nov 30 21:06:57 1998
+@@ -19,26 +19,25 @@
+ usedl="$undef"
+ ;;
+ *)
+- case `uname -m` in
+- alpha|powerpc|pmax)
+- d_dlopen=$undef
+- ;;
+-# this doesn't work (yet).
+-# alpha)
+-# d_dlopen=$define
+-# d_dlerror=$define
+-# cccdlflags="-DPIC -fPIC $cccdlflags"
+-# lddlflags="-shared $lddlflags"
+-# ;;
+- *)
++ if [ -f /usr/libexec/ld.elf_so ]; then
++ d_dlopen=$define
++ d_dlerror=$define
++ useshrplib=$define
++ ccdlflags="-Wl,-E -Wl,-R${PREFIX}/lib $ccdlflags"
++ cccdlflags="-DPIC -fPIC $cccdlflags"
++ lddlflags="--whole-archive -shared $lddlflags"
++ elif [ -f /usr/libexec/ld.so ]; then
+ d_dlopen=$define
+ d_dlerror=$define
++ useshrplib=$define
++ ccdlflags="-Wl,-R${PREFIX}/lib $ccdlflags"
+ # we use -fPIC here because -fpic is *NOT* enough for some of the
+ # extensions like Tk on some netbsd platforms (the sparc is one)
+ cccdlflags="-DPIC -fPIC $cccdlflags"
+ lddlflags="-Bforcearchive -Bshareable $lddlflags"
+- ;;
+- esac
++ else
++ d_dlopen=$undef
++ fi
+ ;;
+ esac
+
+@@ -47,15 +46,18 @@
+ # way to make perl call setuid() or setgid(). if they aren't, then
+ # ($<, $>) = ($u, $u); will work (same for $(/$)). this is because
# you can not change the real userid of a process under 4.4BSD.
- # netbsd fixed this in 1.2A.
+-# netbsd fixed this in 1.2A.
++# netbsd fixed this in 1.3.2.
case "$osvers" in
-0.9*|1.0*|1.1*|1.2_*|1.2|1.2.*)
-+0.9*|1.0*|1.1*|1.2_*|1.2|1.2.*|1.3|1.3.1)
++0.9*|1.0*|1.1*|1.2*|1.3|1.3.1)
d_setregid="$undef"
d_setreuid="$undef"
d_setrgid="$undef"