This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
7bd0a25c1debc4c03b0e9f789aef6caac71f7052
[perl5.git] / hints / netbsd.sh
1 # hints/netbsd.sh
2 #
3 # talk to packages@netbsd.org if you want to change this file.
4 #
5 # netbsd keeps dynamic loading dl*() functions in /usr/lib/crt0.o,
6 # so Configure doesn't find them (unless you abandon the nm scan).
7 # this should be *just* 0.9 below as netbsd 0.9a was the first to
8 # introduce shared libraries.
9
10 case "$archname" in
11 '')
12     archname=`uname -m`-${osname}
13     ;;
14 esac
15
16 case "$osvers" in
17 0.9|0.8*)
18         usedl="$undef"
19         ;;
20 *)
21         if [ -f /usr/libexec/ld.elf_so ]; then
22                 d_dlopen=$define
23                 d_dlerror=$define
24                 ccdlflags="-Wl,-E -Wl,-R${PREFIX}/lib $ccdlflags"
25                 cccdlflags="-DPIC -fPIC $cccdlflags"
26                 lddlflags="--whole-archive -shared $lddlflags"
27         elif [ "`uname -m`" = "pmax" ]; then
28 # NetBSD 1.3 and 1.3.1 on pmax shipped an `old' ld.so, which will not work.
29                 d_dlopen=$undef
30         elif [ -f /usr/libexec/ld.so ]; then
31                 d_dlopen=$define
32                 d_dlerror=$define
33                 ccdlflags="-Wl,-R${PREFIX}/lib $ccdlflags"
34 # we use -fPIC here because -fpic is *NOT* enough for some of the
35 # extensions like Tk on some netbsd platforms (the sparc is one)
36                 cccdlflags="-DPIC -fPIC $cccdlflags"
37                 lddlflags="-Bshareable $lddlflags"
38         else
39                 d_dlopen=$undef
40         fi
41         ;;
42 esac
43
44 # netbsd had these but they don't really work as advertised, in the
45 # versions listed below.  if they are defined, then there isn't a
46 # way to make perl call setuid() or setgid().  if they aren't, then
47 # ($<, $>) = ($u, $u); will work (same for $(/$)).  this is because
48 # you can not change the real userid of a process under 4.4BSD.
49 # netbsd fixed this in 1.3.2.
50 case "$osvers" in
51 0.9*|1.[012]*|1.3|1.3.1)
52         d_setregid="$undef"
53         d_setreuid="$undef"
54         ;;
55 esac
56
57 # These are obsolete in any netbsd.
58 d_setrgid="$undef"
59 d_setruid="$undef"
60
61 # there's no problem with vfork.
62 case "$usevfork" in
63 '') usevfork=true ;;
64 esac
65
66 # Pre-empt the /usr/bin/perl question of installperl.
67 installusrbinperl='n'
68
69 # Recognize the NetBSD packages collection.
70 # GDBM might be here.
71 test -d /usr/pkg/lib     && loclibpth="$loclibpth /usr/pkg/lib"
72 test -d /usr/pkg/include && locincpth="$locincpth /usr/pkg/include"