diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 1997-11-30 08:00:32 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 1997-11-30 08:00:32 +0000 |
commit | 3d06de7fcff1d605886d3c63220956f7260ddb84 (patch) | |
tree | da5aa4b971926e3ef1f9263bbdeb714053206d02 /gnu/usr.bin/perl/hints/netbsd.sh | |
parent | c54c74271308a8fd18f1bc3a193343d079ebe481 (diff) |
perl 5.004_04
Diffstat (limited to 'gnu/usr.bin/perl/hints/netbsd.sh')
-rw-r--r-- | gnu/usr.bin/perl/hints/netbsd.sh | 55 |
1 files changed, 39 insertions, 16 deletions
diff --git a/gnu/usr.bin/perl/hints/netbsd.sh b/gnu/usr.bin/perl/hints/netbsd.sh index 24ffe15f730..c508815a46c 100644 --- a/gnu/usr.bin/perl/hints/netbsd.sh +++ b/gnu/usr.bin/perl/hints/netbsd.sh @@ -5,22 +5,51 @@ # 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. +# 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" ;; -*) d_dlopen=$define - d_dlerror=$define +*) + 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" -# 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. + cccdlflags="-DPIC -fPIC $cccdlflags" + lddlflags="-Bforcearchive -Bshareable $lddlflags" + ;; + esac + ;; +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" @@ -31,9 +60,3 @@ 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 |