This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Advertise Tie::File.
[perl5.git] / hints / netbsd.sh
index e359127..1d3b270 100644 (file)
@@ -21,12 +21,20 @@ case "$osvers" in
        if [ -f /usr/libexec/ld.elf_so ]; then
                d_dlopen=$define
                d_dlerror=$define
-               ccdlflags="-Wl,-E -Wl,-R${PREFIX}/lib $ccdlflags"
+               # Include the whole libgcc.a, required for Xerces-P, which
+               # needs __eh_alloc, __pure_virtual, and others.
+               # XXX This should be obsoleted by gcc-3.0.
+               ccdlflags="-Wl,-whole-archive -lgcc -Wl,-no-whole-archive \
+                       -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
+               case "$osvers" in
+               1.3|1.3.1)
+                       d_dlopen=$undef
+                       ;;
+               esac
        elif [ -f /usr/libexec/ld.so ]; then
                d_dlopen=$define
                d_dlerror=$define
@@ -34,7 +42,7 @@ case "$osvers" in
 # 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"
+               lddlflags="-Bshareable $lddlflags"
        else
                d_dlopen=$undef
        fi
@@ -59,12 +67,38 @@ d_setrgid="$undef"
 d_setruid="$undef"
 
 # there's no problem with vfork.
-case "$usevfork" in
-'') usevfork=true ;;
-esac
+usevfork=true
+
+# Using perl's malloc leads to trouble on some toolchain versions.
+usemymalloc="$undef"
 
 # Pre-empt the /usr/bin/perl question of installperl.
-installusrbinperl='n'
+installusrbinperl="$undef"
+
+# 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]*) 
+        # The GNU pth is the recommended user-level pthreads implementation. 
+        # As of NetBSD 1.5.2 there are no kernel pthreads. 
+        if pkg_info -qe pth; then 
+            # Add -lpthread. 
+            libswanted="$libswanted pthread" 
+            # -R so that we find the libpthread.so from /usr/pkg/lib
+            # during Configure and build.
+            ldflags="-R/usr/pkg/lib $ldflags" 
+            # There is no libc_r as of NetBSD 1.5.2, so no c -> c_r. 
+        else 
+            echo "$0: You need to install the GNU pth.  Aborting." >&4 
+            exit 1 
+        fi 
+        ;; 
+esac 
+EOCBU 
 
 # Recognize the NetBSD packages collection.
 # GDBM might be here.