X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/b230e30d6b57ff1dff6b7ccb4076beb872594d5d..fa6c7d00a8b0cf48c0f78066f87065cfb43d601b:/hints/freebsd.sh diff --git a/hints/freebsd.sh b/hints/freebsd.sh index f246bff..8d436a1 100644 --- a/hints/freebsd.sh +++ b/hints/freebsd.sh @@ -62,7 +62,7 @@ case "$osvers" in # # Even though seteuid/setegid are available, they've been turned off # because perl isn't coded with saved set[ug]id variables in mind. -# In addition, a small patch is requried to suidperl to avoid a security +# In addition, a small patch is required to suidperl to avoid a security # problem with FreeBSD. # 2.0.5*|2.0-built*|2.1*) @@ -110,11 +110,12 @@ esac case "$osvers" in 0.*|1.0*) ;; -1*|2*) cccdlflags='-DPIC -fpic' +1.*|2.*) + cccdlflags='-DPIC -fpic' lddlflags="-Bshareable $lddlflags" ;; -*) +3*|4*|5*|6*) objformat=`/usr/bin/objformat` if [ x$objformat = xaout ]; then if [ -e /usr/lib/aout ]; then @@ -130,10 +131,17 @@ case "$osvers" in fi cccdlflags='-DPIC -fPIC' ;; +*) + libpth="/usr/lib /usr/local/lib" + glibpth="/usr/lib /usr/local/lib" + ldflags="-Wl,-E " + lddlflags="-shared " + cccdlflags='-DPIC -fPIC' + ;; esac case "$osvers" in -0*|1*|2*|3*) ;; +0.*|1.*|2.*|3.*) ;; *) ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H" @@ -188,7 +196,7 @@ case "$usethreads" in $define|true|[yY]*) lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'` case "$osvers" in - 0*|1*|2.0*|2.1*) cat <&4 + 0.*|1.*|2.0*|2.1*) cat <&4 I did not know that FreeBSD $osvers supports POSIX threads. Feel free to tell perlbug@perl.org otherwise. @@ -211,15 +219,7 @@ EOM exit 1 ;; - 7.*) - # 7.x doesn't install libc_r by default, and Configure - # would fail in the code following - # - # gethostbyaddr_r() appears to have been implemented in 6.x+ - ldflags="-pthread $ldflags" - ;; - - *) + [3-5].*) if [ ! -r "$lc_r" ]; then cat <&4 POSIX threads should be supported by FreeBSD $osvers -- @@ -251,6 +251,14 @@ EOM d_gethostbyaddr_r_proto="0" ;; + *) + # 7.x doesn't install libc_r by default, and Configure + # would fail in the code following + # + # gethostbyaddr_r() appears to have been implemented in 6.x+ + ldflags="-pthread $ldflags" + ;; + esac case "$osvers" in @@ -301,3 +309,4 @@ esac # Meanwhile, the following workaround should be safe on all versions # of FreeBSD. d_printf_format_null='undef' +