X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Ffreebsd.sh;h=a5062381e87f867fadde54c4567db53ec6be948a;hb=6c86a5decffbcc9e070ab10ead129ef138d02434;hp=7a2b23a8fbc1c422f112efb28edf4f395524447d;hpb=1973dd96bef9ac903e8ae60907e63e38e591ff1a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/freebsd.sh b/hints/freebsd.sh index 7a2b23a..a506238 100644 --- a/hints/freebsd.sh +++ b/hints/freebsd.sh @@ -87,10 +87,14 @@ 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' + d_setegid='define' + d_seteuid='define' + # d_dosuid='define' # Obsolete. ;; *) usevfork='true' case "$usemymalloc" in @@ -124,7 +128,7 @@ case "$osvers" in fi lddlflags='-Bshareable' fi - cccdlflags='-DPIC -fpic' + cccdlflags='-DPIC -fPIC' ;; esac @@ -218,21 +222,42 @@ Consider using the latest STABLE release. EOM exit 1 fi + # 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. + + # Anton Berezin says that post 500something we're wrong to be + # to be using -lc_r, and should just be using -pthread on the + # linker line. + # So presumably really we should be checking that $osver is 5.*) + # and that `/sbin/sysctl -n kern.osreldate` -ge 500016 + # or -lt 500something and only in that range not doing this: ldflags="-pthread $ldflags" - case "$osvers" in - 4.*) # 4.x has gethostbyaddr_r but it is - # "Temporary function, not threadsafe"... - d_gethostbyaddr_r="undef" - d_gethostbyaddr_r_proto="undef" - ;; - 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 - set `echo X "$libswanted "| sed -e 's/ c / c_r /'` - shift - libswanted="$*" + case "$osvers" in + [1-4]*) + set `echo X "$libswanted "| sed -e 's/ c / c_r /'` + shift + libswanted="$*" + ;; + *) + set `echo X "$libswanted "| sed -e 's/ c //'` + shift + libswanted="$*" + ;; + esac + # Configure will probably pick the wrong libc to use for nm scan. # The safest quick-fix is just to not use nm at all... usenm=false @@ -249,8 +274,13 @@ EOM # Even with the malloc mutexes the Perl malloc does not # seem to be threadsafe in FreeBSD? - usemymalloc=n - + case "$usemymalloc" in + '') usemymalloc=n ;; + esac esac EOCBU +# malloc wrap works +case "$usemallocwrap" in +'') usemallocwrap='define' ;; +esac