bind9/config.threads.in
Mark Andrews e46f3b9a83 3435. [bug] Cross compilation support in configure was broken.
[RT #32078]

Squashed commit of the following:

commit 9c67d7a52346dffeb7609f08d3aaa8a8689d8094
Author: Mark Andrews <marka@isc.org>
Date:   Fri Dec 7 13:31:50 2012 +1100

    regen

commit 4c1874dd3a98ea8e50b0860b107bd2deb8550af0
Author: Mark Andrews <marka@isc.org>
Date:   Fri Dec 7 13:31:10 2012 +1100

    improve cross compile support; tidy --help output

commit 15ba411a728cc35c904804935477b15c8a65ebbd
Author: Mark Andrews <marka@isc.org>
Date:   Fri Dec 7 13:28:46 2012 +1100

    add util/xc

commit 165bc538fa6590752d7006348285a3ba48713498
Author: Mark Andrews <marka@isc.org>
Date:   Fri Dec 7 13:27:35 2012 +1100

    test cross compiler

Conflicts:
	CHANGES
	configure
2012-12-07 16:31:51 +11:00

135 lines
3.2 KiB
Text

#
# Begin pthreads checking.
#
# First, decide whether to use multithreading or not.
#
# Enable multithreading by default on systems where it is known
# to work well, and where debugging of multithreaded programs
# is supported.
#
AC_MSG_CHECKING(whether to build with thread support)
case $host in
*-dec-osf*)
use_threads=true ;;
[*-solaris2.[0-6]])
# Thread signals are broken on Solaris 2.6; they are sometimes
# delivered to the wrong thread.
use_threads=false ;;
*-solaris*)
use_threads=true ;;
*-ibm-aix*)
use_threads=true ;;
*-hp-hpux10*)
use_threads=false ;;
*-hp-hpux11*)
use_threads=true ;;
*-sgi-irix*)
use_threads=true ;;
*-sco-sysv*uw*|*-*-sysv*UnixWare*)
# UnixWare
use_threads=false ;;
*-*-sysv*OpenUNIX*)
# UnixWare
use_threads=true ;;
[*-netbsd[1234].*])
# NetBSD earlier than NetBSD 5.0 has poor pthreads.
# Don't use it by default.
use_threads=false ;;
*-netbsd*)
use_threads=true ;;
*-openbsd*)
# OpenBSD users have reported that named dumps core on
# startup when built with threads.
use_threads=false ;;
[*-freebsd[1234567].*])
# Threads are broken at least up to FreeBSD 4.11.
# FreeBSD 5, 6 and 7 we have never officially supported threads
# on. YMMV
use_threads=false ;;
*-freebsd*)
use_threads=true ;;
[*-bsdi[234]*])
# Thread signals do not work reliably on some versions of BSD/OS.
use_threads=false ;;
*-bsdi5*)
use_threads=true ;;
*-linux*)
# Threads are disabled on Linux by default because most
# Linux kernels produce unusable core dumps from multithreaded
# programs, and because of limitations in setuid().
use_threads=false ;;
*-darwin[[123456789]].*)
use_threads=false ;;
*-darwin*.*)
use_threads=true ;;
*)
use_threads=false ;;
esac
AC_ARG_ENABLE(threads,
[ --enable-threads enable multithreading])
case "$enable_threads" in
yes)
use_threads=true
;;
no)
use_threads=false
;;
'')
# Use system-dependent default
;;
*)
AC_MSG_ERROR([--enable-threads takes yes or no])
;;
esac
if $use_threads
then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
if $use_threads
then
#
# Search for / configure pthreads in a system-dependent fashion.
#
case "$host" in
*-freebsd*)
# We don't want to set -lpthread as that break
# the ability to choose threads library at final
# link time and is not valid for all architectures.
PTHREAD=
if test "X$GCC" = "Xyes"; then
saved_cc="$CC"
CC="$CC -pthread"
AC_MSG_CHECKING(for gcc -pthread support);
AC_TRY_LINK([#include <pthread.h>],
[printf("%x\n", pthread_create);],
PTHREAD="yes"
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no))
CC="$saved_cc"
fi
if test "X$PTHREAD" != "Xyes"; then
AC_CHECK_LIB(pthread, pthread_create,,
AC_CHECK_LIB(thr, thread_create,,
AC_CHECK_LIB(c_r, pthread_create,,
AC_CHECK_LIB(c, pthread_create,,
AC_MSG_ERROR("could not find thread libraries")))))
fi
;;
*)
AC_CHECK_LIB(pthread, pthread_create,,
AC_CHECK_LIB(pthread, __pthread_create,,
AC_CHECK_LIB(pthread, __pthread_create_system,,
AC_CHECK_LIB(c_r, pthread_create,,
AC_CHECK_LIB(c, pthread_create,,
AC_MSG_ERROR("could not find thread libraries"))))))
;;
esac
fi