diff options
Diffstat (limited to 'contrib/perl5/hints/netbsd.sh')
-rw-r--r-- | contrib/perl5/hints/netbsd.sh | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/contrib/perl5/hints/netbsd.sh b/contrib/perl5/hints/netbsd.sh new file mode 100644 index 0000000..71d5084 --- /dev/null +++ b/contrib/perl5/hints/netbsd.sh @@ -0,0 +1,79 @@ +# hints/netbsd.sh +# +# talk to mrg@eterna.com.au 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. + +case "$archname" in +'') + archname=`uname -m`-${osname} + ;; +esac + +case "$osvers" in +0.9|0.8*) + usedl="$undef" + ;; +*) + case `uname -m` in + alpha|powerpc|pmax) + d_dlopen=$undef + ;; +# this doesn't work (yet). +# alpha) +# d_dlopen=$define +# d_dlerror=$define +# cccdlflags="-DPIC -fPIC $cccdlflags" +# lddlflags="-shared $lddlflags" +# ;; + *) + d_dlopen=$define + d_dlerror=$define +# 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 + ;; +esac +# netbsd 1.3 linker warns about setr[gu]id being deprecated. +# (setregid, setreuid, preferred?) +case "$osvers" in +1.3|1.3*) + d_setrgid="$undef" + d_setruid="$undef" + ;; +esac + +# netbsd had these but they don't really work as advertised, in the +# versions listed below. if they are defined, then there isn't a +# 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. +case "$osvers" in +0.9*|1.0*|1.1*|1.2_*|1.2|1.2.*) + d_setregid="$undef" + d_setreuid="$undef" + d_setrgid="$undef" + d_setruid="$undef" + ;; +esac +# netbsd 1.3 linker warns about setr[gu]id being deprecated. +# (setregid, setreuid, preferred?) +case "$osvers" in +1.3|1.3*) + d_setrgid="$undef" + d_setruid="$undef" + ;; +esac + +# vfork is ok on NetBSD. +case "$usevfork" in +'') usevfork=true ;; +esac |