source: trunk/essentials/dev-lang/perl/hints/netbsd.sh@ 3280

Last change on this file since 3280 was 3181, checked in by bird, 19 years ago

perl 5.8.8

File size: 4.2 KB
Line 
1# hints/netbsd.sh
2#
3# Please check with [email protected] before making modifications
4# to this file.
5
6case "$archname" in
7'')
8 archname=`uname -m`-${osname}
9 ;;
10esac
11
12# NetBSD keeps dynamic loading dl*() functions in /usr/lib/crt0.o,
13# so Configure doesn't find them (unless you abandon the nm scan).
14# Also, NetBSD 0.9a was the first release to introduce shared
15# libraries.
16#
17case "$osvers" in
180.9|0.8*)
19 usedl="$undef"
20 ;;
21*)
22 case `uname -m` in
23 pmax)
24 # NetBSD 1.3 and 1.3.1 on pmax shipped an `old' ld.so,
25 # which will not work.
26 case "$osvers" in
27 1.3|1.3.1)
28 d_dlopen=$undef
29 ;;
30 esac
31 ;;
32 esac
33 if test -f /usr/libexec/ld.elf_so; then
34 # ELF
35 d_dlopen=$define
36 d_dlerror=$define
37 cccdlflags="-DPIC -fPIC $cccdlflags"
38 lddlflags="--whole-archive -shared $lddlflags"
39 rpathflag="-Wl,-rpath,"
40 case "$osvers" in
41 1.[0-5]*)
42 #
43 # Include the whole libgcc.a into the perl executable
44 # so that certain symbols needed by loadable modules
45 # built as C++ objects (__eh_alloc, __pure_virtual,
46 # etc.) will always be defined.
47 #
48 ccdlflags="-Wl,-whole-archive -lgcc \
49 -Wl,-no-whole-archive -Wl,-E $ccdlflags"
50 ;;
51 *)
52 ccdlflags="-Wl,-E $ccdlflags"
53 ;;
54 esac
55 elif test -f /usr/libexec/ld.so; then
56 # a.out
57 d_dlopen=$define
58 d_dlerror=$define
59 cccdlflags="-DPIC -fPIC $cccdlflags"
60 lddlflags="-Bshareable $lddlflags"
61 rpathflag="-R"
62 else
63 d_dlopen=$undef
64 rpathflag=
65 fi
66 ;;
67esac
68
69# netbsd had these but they don't really work as advertised, in the
70# versions listed below. if they are defined, then there isn't a
71# way to make perl call setuid() or setgid(). if they aren't, then
72# ($<, $>) = ($u, $u); will work (same for $(/$)). this is because
73# you can not change the real userid of a process under 4.4BSD.
74# netbsd fixed this in 1.3.2.
75case "$osvers" in
760.9*|1.[012]*|1.3|1.3.1)
77 d_setregid="$undef"
78 d_setreuid="$undef"
79 ;;
80esac
81