xref: /openbsd-src/gnu/usr.bin/perl/hints/netbsd.sh (revision e2e5c5d36e4398ba94879f0a31b0307421edcfdb)
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="-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	;;
55esac
56
57# These are obsolete in any netbsd.
58d_setrgid="$undef"
59d_setruid="$undef"
60
61# there's no problem with vfork.
62case "$usevfork" in
63'') usevfork=true ;;
64esac
65
66# Pre-empt the /usr/bin/perl question of installperl.
67installusrbinperl='n'
68
69# Recognize the NetBSD packages collection.
70# GDBM might be here.
71test -d /usr/pkg/lib     && loclibpth="$loclibpth /usr/pkg/lib"
72test -d /usr/pkg/include && locincpth="$locincpth /usr/pkg/include"
73