X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Ffreebsd.sh;h=c6014819fa9ea05251e1eca5bf4e5f3ec75eab5a;hb=6137113dfd943e6f896f8b9c1a4df2b7d4e355ae;hp=479fa2b37d2506897ffba756a67558d34cb99286;hpb=7ca4b19ac3a324a55438434cebf9e27504201570;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/freebsd.sh b/hints/freebsd.sh index 479fa2b..c601481 100644 --- a/hints/freebsd.sh +++ b/hints/freebsd.sh @@ -87,28 +87,19 @@ case "$osvers" in ;; esac libswanted=`echo $libswanted | sed 's/ malloc / /'` + libswanted=`echo $libswanted | sed 's/ bind / /'` + # iconv gone in Perl 5.8.1, but if someone compiles 5.8.0 or earlier. + libswanted=`echo $libswanted | sed 's/ iconv / /'` d_setregid='define' d_setreuid='define' - d_setegid='undef' - d_seteuid='undef' - ;; -4.*) # In FreeBSD 4 and 5 the system malloc is performance-wise - # VERY bad for Perl-- we are talking of differences of not - # one, but TWO magnitudes. - case "$usemymalloc" in - "") usemymalloc='y' - ;; - esac - ;; -5.*) case "$usemymalloc" in - "") usemymalloc='y' - ;; - esac + d_setegid='define' + d_seteuid='define' + # d_dosuid='define' # Obsolete. ;; *) usevfork='true' case "$usemymalloc" in - "") usemymalloc='y' - ;; + "") usemymalloc='n' + ;; esac libswanted=`echo $libswanted | sed 's/ malloc / /'` ;; @@ -137,7 +128,7 @@ case "$osvers" in fi lddlflags='-Bshareable' fi - cccdlflags='-DPIC -fpic' + cccdlflags='-DPIC -fPIC' ;; esac @@ -231,15 +222,24 @@ Consider using the latest STABLE release. EOM exit 1 fi - ldflags="-pthread $ldflags" case "$osvers" in - 4.*|5.0-release*) - # 4.x and 5.0-release have gethostbyaddr_r but it is - # "Temporary function, not threadsafe"... - d_gethostbyaddr_r="undef" - d_gethostbyaddr_r_proto="0" + # 500016 is the first osreldate in which one could + # just link against libc_r without disposing of libc + # at the same time. 500016 ... up to whatever it was + # on the 31st of August 2003 can still be used with -pthread, + # but it is not necessary. + 5.*) if [ `/sbin/sysctl -n kern.osreldate` -lt 500016 ]; then + ldflags="-pthread $ldflags" + fi + ;; + *) ldflags="-pthread $ldflags" ;; esac + # Both in 4.x and 5.x gethostbyaddr_r exists but + # it is "Temporary function, not threadsafe"... + # Presumably earlier it didn't even exist. + d_gethostbyaddr_r="undef" + d_gethostbyaddr_r_proto="0" ;; esac @@ -263,8 +263,13 @@ EOM # Even with the malloc mutexes the Perl malloc does not # seem to be threadsafe in FreeBSD? - usemymalloc=y - + case "$usemymalloc" in + '') usemymalloc=n ;; + esac esac EOCBU +# malloc wrap works +case "$usemallocwrap" in +'') usemallocwrap='define' ;; +esac