X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fnetbsd.sh;h=24ffe15f730e3315565280600fd94fae1be19967;hb=f40219518a6573c0622c41128785309062b01320;hp=f5f5a74f933a88cbf99744b2be91c2b304c40f36;hpb=a0d0e21ea6ea90a22318550944fe6cb09ae10cda;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/netbsd.sh b/hints/netbsd.sh index f5f5a74..24ffe15 100644 --- a/hints/netbsd.sh +++ b/hints/netbsd.sh @@ -1,10 +1,39 @@ # 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. case "$osvers" in -0.9|0.8) +0.9|0.8*) usedl="$undef" ;; -*) d_dlopen="$define" - cccdlflags='-DPIC -fpic' - lddlflags='-Bforcearchive -Bshareable' +*) 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" +# netbsd has these but they don't really work as advertised. 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. + d_setregid="$undef" + d_setreuid="$undef" + d_setrgid="$undef" + d_setruid="$undef" ;; esac + +# Avoid telldir prototype conflict in pp_sys.c (NetBSD uses const DIR *) +# Configure should test for this. Volunteers? +pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"' + +case "$archname" in +'') + archname=`uname -m`-${osname} + ;; +esac