summaryrefslogtreecommitdiff
path: root/lang/perl5/patches/patch-af
blob: be16759a3c7d7b4eb4ad99ca198c02f34f232fd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
$NetBSD: patch-af,v 1.8 2000/01/18 22:31:47 tron Exp $

--- hints/netbsd.sh.orig	Thu May  8 11:52:59 1997
+++ hints/netbsd.sh	Wed Dec  2 14:21:34 1998
@@ -1,12 +1,11 @@
 # hints/netbsd.sh
 #
-# talk to mrg@eterna.com.au if you want to change this file.
+# talk to packages@netbsd.org if you want to change this file.
 #
 # netbsd keeps dynamic loading dl*() functions in /usr/lib/crt0.o,
 # so Configure doesn't find them (unless you abandon the nm scan).
 # this should be *just* 0.9 below as netbsd 0.9a was the first to
-# introduce shared libraries.  however, they don't work/build on
-# pmax, powerpc and alpha ports correctly, yet.
+# introduce shared libraries.
 
 case "$archname" in
 '')
@@ -19,26 +18,26 @@
 	usedl="$undef"
 	;;
 *)
-	case `uname -m` in
-	alpha|powerpc|pmax)
+	if [ -f /usr/libexec/ld.elf_so ]; then
+		d_dlopen=$define
+		d_dlerror=$define
+		ccdlflags="-Wl,-E -Wl,-R${PREFIX}/lib $ccdlflags"
+		cccdlflags="-DPIC -fPIC $cccdlflags"
+		lddlflags="--whole-archive -shared $lddlflags"
+	elif [ "`uname -m`" = "pmax" ]; then
+# NetBSD 1.3 and 1.3.1 on pmax shipped an `old' ld.so, which will not work.
 		d_dlopen=$undef
-		;;
-# this doesn't work (yet).
-#	alpha)
-#		d_dlopen=$define
-#		d_dlerror=$define
-#		cccdlflags="-DPIC -fPIC $cccdlflags"
-#		lddlflags="-shared $lddlflags"
-#		;;
-	*)
+	elif [ -f /usr/libexec/ld.so ]; then
 		d_dlopen=$define
 		d_dlerror=$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.3.2.
 case "$osvers" in
-0.9*|1.0*|1.1*|1.2_*|1.2|1.2.*)
+0.9*|1.[012]*|1.3|1.3.1)
 	d_setregid="$undef"
 	d_setreuid="$undef"
 	d_setrgid="$undef"
 	d_setruid="$undef"
 	;;
 esac
+
+# there's no problem with vfork.
+d_vfork="$define"
 
 # Avoid telldir prototype conflict in pp_sys.c  (NetBSD uses const DIR *)
 # Configure should test for this.  Volunteers?