X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Ffreebsd.sh;h=0ba6b6190e1442891a78a60d6d67f5482da93cb5;hb=c4eb81271d38690def0c149c253ee8dc4015bfca;hp=94d1861412e535007db9c34f28d568c39fa1e372;hpb=eea0979600e7fdb254f40db7d04a1728a29d18f7;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/freebsd.sh b/hints/freebsd.sh index 94d1861..0ba6b61 100644 --- a/hints/freebsd.sh +++ b/hints/freebsd.sh @@ -86,8 +86,13 @@ case "$osvers" in d_setegid='undef' d_seteuid='undef' ;; +3.*) + usevfork='true' + usemymalloc='n' + libswanted=`echo $libswanted | sed 's/ malloc / /'` + ;; # -# Guesses at what will be needed after 2.2 +# Guesses at what will be needed after 3.* *) usevfork='true' usemymalloc='n' libswanted=`echo $libswanted | sed 's/ malloc / /'` @@ -99,7 +104,11 @@ esac case "$osvers" in 0.*|1.0*) ;; -3.*|4.*|5.*) +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 +117,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.*|5.*) +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 +181,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.*|5.*) - if [ ! -r "$lc_r" ]; then - cat <&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 <&4 +I did not know that FreeBSD $osvers supports POSIX threads. -Consider using the latest STABLE release. +Feel free to tell perlbug@perl.org otherwise. EOM - exit 1 - fi - ldflags="-pthread $ldflags" + exit 1 ;; - 2.2*) + + 2.2.[0-7]*) cat <&4 POSIX threads are not supported well by FreeBSD $osvers. @@ -199,13 +202,21 @@ or preferably to 3.something. EOM exit 1 ;; - *) cat <&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 <&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 /'`