This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Bump to 5.13.0
[perl5.git] / hints / netbsd.sh
index d246d09..9e7a4e2 100644 (file)
@@ -37,16 +37,21 @@ case "$osvers" in
                cccdlflags="-DPIC -fPIC $cccdlflags"
                lddlflags="--whole-archive -shared $lddlflags"
                rpathflag="-Wl,-rpath,"
-               #
-               # Include the whole libgcc.a into the perl executable so
-               # that certain symbols needed by loadable modules built as
-               # C++ objects (__eh_alloc, __pure_virtual, etc.) will always
-               # be defined.
-               #
-               # XXX This should be obsoleted by gcc-3.0.
-               #
-               ccdlflags="-Wl,-whole-archive -lgcc -Wl,-no-whole-archive \
-                       -Wl,-E $ccdlflags"
+               case "$osvers" in
+               1.[0-5]*)
+                       #
+                       # Include the whole libgcc.a into the perl executable
+                       # so that certain symbols needed by loadable modules
+                       # built as C++ objects (__eh_alloc, __pure_virtual,
+                       # etc.) will always be defined.
+                       #
+                       ccdlflags="-Wl,-whole-archive -lgcc \
+                               -Wl,-no-whole-archive -Wl,-E $ccdlflags"
+                       ;;
+               *)
+                       ccdlflags="-Wl,-E $ccdlflags"
+                       ;;
+               esac
        elif test -f /usr/libexec/ld.so; then
                # a.out
                d_dlopen=$define
@@ -73,6 +78,30 @@ case "$osvers" in
        d_setreuid="$undef"
        ;;
 esac
+case "$osvers" in
+0.9*|1.*|2.*|3.*|4.*|5.*)
+       d_getprotoent_r="$undef"
+       d_getprotobyname_r="$undef"
+       d_getprotobynumber_r="$undef"
+       d_setprotoent_r="$undef"
+       d_endprotoent_r="$undef"
+       d_getservent_r="$undef"
+       d_getservbyname_r="$undef"
+       d_getservbyport_r="$undef"
+       d_setservent_r="$undef"
+       d_endservent_r="$undef"
+       d_getprotoent_r_proto="0"
+       d_getprotobyname_r_proto="0"
+       d_getprotobynumber_r_proto="0"
+       d_setprotoent_r_proto="0"
+       d_endprotoent_r_proto="0"
+       d_getservent_r_proto="0"
+       d_getservbyname_r_proto="0"
+       d_getservbyport_r_proto="0"
+       d_setservent_r_proto="0"
+       d_endservent_r_proto="0"
+       ;;
+esac
 
 # These are obsolete in any netbsd.
 d_setrgid="$undef"
@@ -84,11 +113,11 @@ usevfork=true
 # This is there but in machine/ieeefp_h.
 ieeefp_h="define"
 
-# This script UU/usethreads.cbu will get 'called-back' by Configure 
-# after it has prompted the user for whether to use threads. 
-cat > UU/usethreads.cbu <<'EOCBU' 
-case "$usethreads" in 
-$define|true|[yY]*) 
+# This script UU/usethreads.cbu will get 'called-back' by Configure
+# after it has prompted the user for whether to use threads.
+cat > UU/usethreads.cbu <<'EOCBU'
+case "$usethreads" in
+$define|true|[yY]*)
        lpthread=
        for xxx in pthread; do
                for yyy in $loclibpth $plibpth $glibpth dummy; do
@@ -113,19 +142,37 @@ $define|true|[yY]*)
                fi
        done
        if test "X$lpthread" != X; then
-               # Add -lpthread. 
-               libswanted="$libswanted $lpthread" 
+               # Add -lpthread.
+               libswanted="$libswanted $lpthread"
                # There is no libc_r as of NetBSD 1.5.2, so no c -> c_r.
                # This will be revisited when NetBSD gains a native pthreads
                # implementation.
-        else 
+       else
                echo "$0: No POSIX threads library (-lpthread) found.  " \
-                    "You may want to install GNU pth.  Aborting." >&4 
-               exit 1 
-        fi
+                    "You may want to install GNU pth.  Aborting." >&4
+               exit 1
+       fi
        unset lpthread
-        ;; 
-esac 
+
+       # several reentrant functions are embeded in libc, but haven't
+       # been added to the header files yet.  Let's hold off on using
+       # them until they are a valid part of the API
+       case "$osvers" in
+       [012].*|3.[0-1])
+               d_getprotobyname_r=$undef
+               d_getprotobynumber_r=$undef
+               d_getprotoent_r=$undef
+               d_getservbyname_r=$undef
+               d_getservbyport_r=$undef
+               d_getservent_r=$undef
+               d_setprotoent_r=$undef
+               d_setservent_r=$undef
+               d_endprotoent_r=$undef
+               d_endservent_r=$undef ;;
+       esac
+       ;;
+
+esac
 EOCBU
 
 # Set sensible defaults for NetBSD: look for local software in
@@ -169,3 +216,8 @@ EOF
     ;;
 esac
 
+# NetBSD/sparc 1.5.3/1.6.1 dumps core in the semid_ds test of Configure.
+case `uname -m` in
+sparc) d_semctl_semid_ds=undef ;;
+esac
+