This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
check --whole-archive is supported before using it
[perl5.git] / hints / netbsd.sh
index 11fa30c..c64be44 100644 (file)
@@ -35,7 +35,15 @@ case "$osvers" in
                d_dlopen=$define
                d_dlerror=$define
                cccdlflags="-DPIC -fPIC $cccdlflags"
-               lddlflags="--whole-archive -shared $lddlflags"
+               lddlflags="-shared $lddlflags"
+               # gcc 4.6 doesn't support --whole-archive, but check for it
+               # if the user chooses a new compiler later, this is pointless
+               echo 'int f(void) { return 0; }' >try.c
+               if ${cc:-cc} $cccdlflags -c try.c -otry.o 2>&1 &&
+                   ${cc:-cc} --whole-archive $lddlflags try.o -otry.so 2>&1 ; then
+                   lddlflags="--whole-archive $lddlflags"
+               fi
+               rm try.c try.o try.so 2>/dev/null
                rpathflag="-Wl,-rpath,"
                case "$osvers" in
                1.[0-5]*)
@@ -79,7 +87,7 @@ case "$osvers" in
        ;;
 esac
 case "$osvers" in
-0.9*|1.*|2.*|3.*|4.*)
+0.9*|1.*|2.*|3.*|4.*|5.*)
        d_getprotoent_r="$undef"
        d_getprotobyname_r="$undef"
        d_getprotobynumber_r="$undef"
@@ -90,25 +98,16 @@ case "$osvers" in
        d_getservbyport_r="$undef"
        d_setservent_r="$undef"
        d_endservent_r="$undef"
-       d_getprotoent_r_proto="$undef"
-       d_getprotobyname_r_proto="$undef"
-       d_getprotobynumber_r_proto="$undef"
-       d_setprotoent_r_proto="$undef"
-       d_endprotoent_r_proto="$undef"
-       d_getservent_r_proto="$undef"
-       d_getservbyname_r_proto="$undef"
-       d_getservbyport_r_proto="$undef"
-       d_setservent_r_proto="$undef"
-       d_endservent_r_proto="$undef"
-       ;;
-esac
-
-# @20070922: setlocale() doesn't support LC_COLLATE and LC_NUMERIC
-case "$osvers" in
-2.*|3.*|4.*)
-       # next two lines should start at column 0
-locale_cflags='ccflags="$ccflags -DNO_LOCALE_COLLATE -DNO_LOCALE_NUMERIC"'
-sv_cflags='ccflags="$ccflags -DNO_LOCALE_COLLATE"'
+       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
 
@@ -163,7 +162,7 @@ $define|true|[yY]*)
        fi
        unset lpthread
 
-       # several reentrant functions are embeded in libc, but haven't
+       # several reentrant functions are embedded 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
@@ -230,3 +229,12 @@ case `uname -m` in
 sparc) d_semctl_semid_ds=undef ;;
 esac
 
+# malloc wrap works
+case "$usemallocwrap" in
+'') usemallocwrap='define' ;;
+esac
+
+# don't use perl malloc by default
+case "$usemymalloc" in
+'') usemymalloc=n ;;
+esac