summaryrefslogtreecommitdiff
path: root/hints/freebsd.sh
diff options
context:
space:
mode:
Diffstat (limited to 'hints/freebsd.sh')
-rw-r--r--hints/freebsd.sh58
1 files changed, 32 insertions, 26 deletions
diff --git a/hints/freebsd.sh b/hints/freebsd.sh
index 2609261fa6..fd60ba3cb9 100644
--- a/hints/freebsd.sh
+++ b/hints/freebsd.sh
@@ -99,7 +99,11 @@ esac
case "$osvers" in
0.*|1.0*) ;;
-3.*|4.0*)
+1*|2*) cccdlflags='-DPIC -fpic'
+ lddlflags="-Bshareable $lddlflags"
+ ;;
+
+*)
objformat=`/usr/bin/objformat`
if [ x$objformat = xelf ]; then
libpth="/usr/lib /usr/local/lib"
@@ -108,24 +112,23 @@ case "$osvers" in
lddlflags="-shared "
else
if [ -e /usr/lib/aout ]; then
- libpth="/usr/lib/aout /usr/local/lib /usr/lib"
- glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
- fi
- lddlflags='-Bshareable'
+ libpth="/usr/lib/aout /usr/local/lib /usr/lib"
+ glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
+ fi
+ lddlflags='-Bshareable'
fi
cccdlflags='-DPIC -fpic'
;;
-
-*) cccdlflags='-DPIC -fpic'
- lddlflags="-Bshareable $lddlflags"
- ;;
esac
case "$osvers" in
-4.0*)
- if /usr/bin/file /usr/lib/libc.so.3 | /usr/bin/grep -vq "not stripped" ; then
+0*|1*|2*|3*) ;;
+
+*)
+ if /usr/bin/file -L /usr/lib/libc.so | /usr/bin/grep -vq "not stripped" ; then
usenm=false
fi
+ ;;
esac
cat <<'EOM' >&4
@@ -173,20 +176,15 @@ case "$usethreads" in
$define|true|[yY]*)
lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|tail -1`
case "$osvers" in
- 2.2.8*|3.*|4.*)
- if [ ! -r "$lc_r" ]; then
- cat <<EOM >&4
-POSIX threads should be supported by FreeBSD $osvers --
-but your system is missing the shared libc_r.
-(/sbin/ldconfig -r doesn't find any).
+ 0*|1*|2.0*|2.1*) cat <<EOM >&4
+I did not know that FreeBSD $osvers supports POSIX threads.
-Consider using the latest STABLE release.
+Feel free to tell perlbug@perl.com otherwise.
EOM
- exit 1
- fi
- ldflags="-pthread $ldflags"
+ exit 1
;;
- 2.2*)
+
+ 2.2.[0-7]*)
cat <<EOM >&4
POSIX threads are not supported well by FreeBSD $osvers.
@@ -199,13 +197,21 @@ or preferably to 3.something.
EOM
exit 1
;;
- *) cat <<EOM >&4
-I did not know that FreeBSD $osvers supports POSIX threads.
-Feel free to tell perlbug@perl.com otherwise.
+ *)
+ if [ ! -r "$lc_r" ]; then
+ cat <<EOM >&4
+POSIX threads should be supported by FreeBSD $osvers --
+but your system is missing the shared libc_r.
+(/sbin/ldconfig -r doesn't find any).
+
+Consider using the latest STABLE release.
EOM
- exit 1
+ exit 1
+ fi
+ ldflags="-pthread $ldflags"
;;
+
esac
set `echo X "$libswanted "| sed -e 's/ c / c_r /'`