NetBSD update, based on patches from the NetBSD packages system.
Jarkko Hietaniemi [Tue, 19 Jan 1999 13:42:03 +0000 (13:42 +0000)]
p4raw-id: //depot/cfgperl@2650

Makefile.SH
hints/netbsd.sh
makedepend.SH
unixish.h

index 3095db8..22bb335 100644 (file)
@@ -46,9 +46,12 @@ true)
        os2*)   # OS/2 doesn't need anything special for LD_LIBRARY_PATH.
                ldlibpth=''
                ;;
-       sunos*|freebsd[23]*|netbsd*)
+       sunos*|freebsd[23]*)
                linklibperl="-lperl"
                ;;
+       netbsd*)
+               linklibperl="-L. -lperl"
+               ;;
        aix*)
                shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp"
                case "$osvers" in
index 71d5084..a8cc7dc 100644 (file)
@@ -1,12 +1,11 @@
 # hints/netbsd.sh
 #
-# talk to mrg@eterna.com.au if you want to change this file.
+# talk to packages@netbsd.org 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.
+# introduce shared libraries.
 
 case "$archname" in
 '')
@@ -19,34 +18,26 @@ case "$osvers" in
        usedl="$undef"
        ;;
 *)
-       case `uname -m` in
-       alpha|powerpc|pmax)
+       if [ -f /usr/libexec/ld.elf_so ]; then
+               d_dlopen=$define
+               d_dlerror=$define
+               ccdlflags="-Wl,-E -Wl,-R${PREFIX}/lib $ccdlflags"
+               cccdlflags="-DPIC -fPIC $cccdlflags"
+               lddlflags="--whole-archive -shared $lddlflags"
+       elif [ "`uname -m`" = "pmax" ]; then
+# NetBSD 1.3 and 1.3.1 on pmax shipped an `old' ld.so, which will not work.
                d_dlopen=$undef
-               ;;
-# this doesn't work (yet).
-#      alpha)
-#              d_dlopen=$define
-#              d_dlerror=$define
-#              cccdlflags="-DPIC -fPIC $cccdlflags"
-#              lddlflags="-shared $lddlflags"
-#              ;;
-       *)
+       elif [ -f /usr/libexec/ld.so ]; then
                d_dlopen=$define
                d_dlerror=$define
+               ccdlflags="-Wl,-R${PREFIX}/lib $ccdlflags"
 # 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"
+       else
+               d_dlopen=$undef
+       fi
        ;;
 esac
 
@@ -55,25 +46,25 @@ esac
 # 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.
+# netbsd fixed this in 1.3.2.
 case "$osvers" in
-0.9*|1.0*|1.1*|1.2_*|1.2|1.2.*)
+0.9*|1.[012]*|1.3|1.3.1)
        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.
+# there's no problem with vfork.
 case "$usevfork" in
 '') usevfork=true ;;
 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"'
+
+# Pre-empt the /usr/bin/perl question of installperl.
+installusrbinperl='n'
+
index 74c3ecb..8176204 100755 (executable)
@@ -67,6 +67,7 @@ if test -f Makefile; then
     # to be out of date.  I don't know if OS/2 has touch, so do this:
     case "$osname" in
     os2) ;;
+    netbsd) ;;
     *) $touch $firstmakefile ;;
     esac
 fi
index 2a6cbcd..eab2de1 100644 (file)
--- a/unixish.h
+++ b/unixish.h
@@ -89,7 +89,7 @@
  */
 /* #define ALTERNATE_SHEBANG "#!" / **/
 
-#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
+#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX) || defined(__NetBSD__)
 # include <signal.h>
 #endif