This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
NetBSD update, based on patches from the NetBSD packages system.
[perl5.git] / hints / netbsd.sh
... / ...
CommitLineData
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
10case "$archname" in
11'')
12 archname=`uname -m`-${osname}
13 ;;
14esac
15
16case "$osvers" in
170.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="-Bforcearchive -Bshareable $lddlflags"
38 else
39 d_dlopen=$undef
40 fi
41 ;;
42esac
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.
50case "$osvers" in
510.9*|1.[012]*|1.3|1.3.1)
52 d_setregid="$undef"
53 d_setreuid="$undef"
54 d_setrgid="$undef"
55 d_setruid="$undef"
56 ;;
57esac
58
59# there's no problem with vfork.
60case "$usevfork" in
61'') usevfork=true ;;
62esac
63
64# Avoid telldir prototype conflict in pp_sys.c (NetBSD uses const DIR *)
65# Configure should test for this. Volunteers?
66pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"'
67
68# Pre-empt the /usr/bin/perl question of installperl.
69installusrbinperl='n'
70