diff options
author | Simon 'corecode' Schubert <corecode@fs.ei.tum.de> | 2009-10-10 17:55:26 +0100 |
---|---|---|
committer | Chris Williams <chris@bingosnet.co.uk> | 2009-10-10 17:55:26 +0100 |
commit | 6c1b5ced18901286f16f6d5f6914ba4b5e3db601 (patch) | |
tree | e69ba9dfff0c79c79c8caef1dbf454434d9a0993 /hints | |
parent | 1cce9906401b8a2db10f2d0061757627ad69f138 (diff) | |
download | perl-6c1b5ced18901286f16f6d5f6914ba4b5e3db601.tar.gz |
[perl #69686] Fix DragonFly thread lib selection
Hey,
attached patch fixes the thread library detection in DragonFly. All
versions of DragonFly can be used threaded with -pthread. libc_r must
not be used directly.
Please let me know if you have any questions.
Thanks,
simon
Diffstat (limited to 'hints')
-rw-r--r-- | hints/dragonfly.sh | 47 |
1 files changed, 6 insertions, 41 deletions
diff --git a/hints/dragonfly.sh b/hints/dragonfly.sh index 88da5ec23d..8966aef8ef 100644 --- a/hints/dragonfly.sh +++ b/hints/dragonfly.sh @@ -19,18 +19,10 @@ esac # out here to avoid duplicating them everywhere. case "$osvers" in *) objformat=`/usr/bin/objformat` - if [ x$objformat = xelf ]; then - libpth="/usr/lib /usr/local/lib" - glibpth="/usr/lib /usr/local/lib" - ldflags="-Wl,-E " - 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' - fi + libpth="/usr/lib /usr/local/lib" + glibpth="/usr/lib /usr/local/lib" + ldflags="-Wl,-E " + lddlflags="-shared " cccdlflags='-DPIC -fPIC' ;; esac @@ -67,43 +59,16 @@ d_voidsig='define' cat > UU/usethreads.cbu <<'EOCBU' case "$usethreads" in $define|true|[yY]*) - lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'` case "$osvers" in - *) 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). + *) ldflags="-pthread $ldflags" -Consider using the latest STABLE release. -EOM - exit 1 - fi - case "$osvers" in - *) 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 - set `echo X "$libswanted "| sed -e 's/ c / c_r /'` - shift - libswanted="$*" - # 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 - - unset lc_r - - # Even with the malloc mutexes the Perl malloc does not - # seem to be threadsafe in FreeBSD? - case "$usemymalloc" in - '') usemymalloc=n ;; + ;; esac esac EOCBU |