mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-13 20:40:00 -04:00
1810. [bug] configure, lib/bind/configure make different default
decisions about whether to do a threaded build.
[RT #13212]
This commit is contained in:
parent
e90994e3f3
commit
9738408dcb
4 changed files with 161 additions and 238 deletions
4
CHANGES
4
CHANGES
|
|
@ -43,7 +43,9 @@
|
|||
1811. [func] Preserve the case of domain names in rdata during
|
||||
zone transfers. [RT #13547]
|
||||
|
||||
1810. [placeholder] rt13212
|
||||
1810. [bug] configure, lib/bind/configure make different default
|
||||
decisions about whether to do a threaded build.
|
||||
[RT #13212]
|
||||
|
||||
1809. [bug] "make distclean" failed for libbind if the platform
|
||||
is not supported.
|
||||
|
|
|
|||
152
config.threads.in
Normal file
152
config.threads.in
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
#
|
||||
# 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*)
|
||||
if test -r /usr/lib/libpthread.so ; then
|
||||
use_threads=true
|
||||
else
|
||||
# Socket I/O optimizations introduced in 9.2 expose a
|
||||
# bug in unproven-pthreads; see PR #12650
|
||||
use_threads=false
|
||||
fi
|
||||
;;
|
||||
*-openbsd*)
|
||||
# OpenBSD users have reported that named dumps core on
|
||||
# startup when built with threads.
|
||||
use_threads=false ;;
|
||||
*-freebsd*)
|
||||
use_threads=false ;;
|
||||
*-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 ;;
|
||||
*)
|
||||
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
|
||||
*-netbsd*)
|
||||
# NetBSD has multiple pthreads implementations. The
|
||||
# recommended one to use is "unproven-pthreads". The
|
||||
# older "mit-pthreads" may also work on some NetBSD
|
||||
# versions. The PTL2 thread library does not
|
||||
# currently work with bind9, but can be chosen with
|
||||
# the --with-ptl2 option for those who wish to
|
||||
# experiment with it.
|
||||
CC="gcc"
|
||||
AC_MSG_CHECKING(which NetBSD thread library to use)
|
||||
|
||||
AC_ARG_WITH(ptl2,
|
||||
[ --with-ptl2 on NetBSD, use the ptl2 thread library (experimental)],
|
||||
use_ptl2="$withval", use_ptl2="no")
|
||||
|
||||
: ${LOCALBASE:=/usr/pkg}
|
||||
|
||||
if test "X$use_ptl2" = "Xyes"
|
||||
then
|
||||
AC_MSG_RESULT(PTL2)
|
||||
AC_MSG_WARN(
|
||||
[linking with PTL2 is highly experimental and not expected to work])
|
||||
CC=ptlgcc
|
||||
else
|
||||
if test -r /usr/lib/libpthread.so
|
||||
then
|
||||
AC_MSG_RESULT(native)
|
||||
LIBS="-lpthread $LIBS"
|
||||
else
|
||||
if test ! -d $LOCALBASE/pthreads
|
||||
then
|
||||
AC_MSG_RESULT(none)
|
||||
AC_MSG_ERROR("could not find thread libraries")
|
||||
fi
|
||||
|
||||
if $use_threads
|
||||
then
|
||||
AC_MSG_RESULT(mit-pthreads/unproven-pthreads)
|
||||
pkg="$LOCALBASE/pthreads"
|
||||
lib1="-L$pkg/lib -Wl,-R$pkg/lib"
|
||||
lib2="-lpthread -lm -lgcc -lpthread"
|
||||
LIBS="$lib1 $lib2 $LIBS"
|
||||
CPPFLAGS="$CPPFLAGS -I$pkg/include"
|
||||
STD_CINCLUDES="$STD_CINCLUDES -I$pkg/include"
|
||||
fi
|
||||
fi
|
||||
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
|
||||
156
configure.in
156
configure.in
|
|
@ -18,7 +18,7 @@ AC_DIVERT_PUSH(1)dnl
|
|||
esyscmd([sed "s/^/# /" COPYRIGHT])dnl
|
||||
AC_DIVERT_POP()dnl
|
||||
|
||||
AC_REVISION($Revision: 1.373 $)
|
||||
AC_REVISION($Revision: 1.374 $)
|
||||
|
||||
AC_INIT(lib/dns/name.c)
|
||||
AC_PREREQ(2.13)
|
||||
|
|
@ -608,158 +608,7 @@ esac
|
|||
#
|
||||
AC_CHECK_FUNC(arc4random, AC_DEFINE(HAVE_ARC4RANDOM))
|
||||
|
||||
#
|
||||
# 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*)
|
||||
if test -r /usr/lib/libpthread.so ; then
|
||||
use_threads=true
|
||||
else
|
||||
# Socket I/O optimizations introduced in 9.2 expose a
|
||||
# bug in unproven-pthreads; see PR #12650
|
||||
use_threads=false
|
||||
fi
|
||||
;;
|
||||
*-openbsd*)
|
||||
# OpenBSD users have reported that named dumps core on
|
||||
# startup when built with threads.
|
||||
use_threads=false ;;
|
||||
*-freebsd*)
|
||||
use_threads=false ;;
|
||||
*-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 ;;
|
||||
*)
|
||||
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
|
||||
*-netbsd*)
|
||||
# NetBSD has multiple pthreads implementations. The
|
||||
# recommended one to use is "unproven-pthreads". The
|
||||
# older "mit-pthreads" may also work on some NetBSD
|
||||
# versions. The PTL2 thread library does not
|
||||
# currently work with bind9, but can be chosen with
|
||||
# the --with-ptl2 option for those who wish to
|
||||
# experiment with it.
|
||||
CC="gcc"
|
||||
AC_MSG_CHECKING(which NetBSD thread library to use)
|
||||
|
||||
AC_ARG_WITH(ptl2,
|
||||
[ --with-ptl2 on NetBSD, use the ptl2 thread library (experimental)],
|
||||
use_ptl2="$withval", use_ptl2="no")
|
||||
|
||||
: ${LOCALBASE:=/usr/pkg}
|
||||
|
||||
if test "X$use_ptl2" = "Xyes"
|
||||
then
|
||||
AC_MSG_RESULT(PTL2)
|
||||
AC_MSG_WARN(
|
||||
[linking with PTL2 is highly experimental and not expected to work])
|
||||
CC=ptlgcc
|
||||
else
|
||||
if test -r /usr/lib/libpthread.so
|
||||
then
|
||||
AC_MSG_RESULT(native)
|
||||
LIBS="-lpthread $LIBS"
|
||||
else
|
||||
if test ! -d $LOCALBASE/pthreads
|
||||
then
|
||||
AC_MSG_RESULT(none)
|
||||
AC_MSG_ERROR("could not find thread libraries")
|
||||
fi
|
||||
|
||||
if $use_threads
|
||||
then
|
||||
AC_MSG_RESULT(mit-pthreads/unproven-pthreads)
|
||||
pkg="$LOCALBASE/pthreads"
|
||||
lib1="-L$pkg/lib -Wl,-R$pkg/lib"
|
||||
lib2="-lpthread -lm -lgcc -lpthread"
|
||||
LIBS="$lib1 $lib2 $LIBS"
|
||||
CPPFLAGS="$CPPFLAGS -I$pkg/include"
|
||||
STD_CINCLUDES="$STD_CINCLUDES -I$pkg/include"
|
||||
fi
|
||||
fi
|
||||
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
|
||||
sinclude(config.threads.in)dnl
|
||||
|
||||
if $use_threads
|
||||
then
|
||||
|
|
@ -884,7 +733,6 @@ fi
|
|||
|
||||
AC_SUBST(ALWAYS_DEFINES)
|
||||
AC_SUBST(ISC_PLATFORM_USETHREADS)
|
||||
|
||||
ISC_THREAD_DIR=$thread_dir
|
||||
AC_SUBST(ISC_THREAD_DIR)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
AC_REVISION($Revision: 1.99 $)
|
||||
AC_REVISION($Revision: 1.100 $)
|
||||
|
||||
AC_INIT(resolv/herror.c)
|
||||
AC_PREREQ(2.13)
|
||||
|
|
@ -315,86 +315,7 @@ case "$use_randomdev" in
|
|||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
# Begin pthreads checking.
|
||||
#
|
||||
# First, decide whether to use multithreading or not.
|
||||
#
|
||||
AC_MSG_CHECKING(whether to look for thread support)
|
||||
AC_ARG_ENABLE(threads,
|
||||
[ --disable-threads disable multithreading])
|
||||
case "$enable_threads" in
|
||||
yes|'')
|
||||
AC_MSG_RESULT(yes)
|
||||
use_threads=true
|
||||
;;
|
||||
no)
|
||||
AC_MSG_RESULT(no)
|
||||
use_threads=false
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([--enable-threads takes yes or no])
|
||||
;;
|
||||
esac
|
||||
|
||||
if $use_threads
|
||||
then
|
||||
#
|
||||
# Search for / configure pthreads in a system-dependent fashion.
|
||||
#
|
||||
case "$host" in
|
||||
*-netbsd*)
|
||||
# NetBSD has multiple pthreads implementations. The
|
||||
# recommended one to use is "unproven-pthreads". The
|
||||
# older "mit-pthreads" may also work on some NetBSD
|
||||
# versions. The PTL2 thread library does not
|
||||
# currently work with bind9, but can be chosen with
|
||||
# the --with-ptl2 option for those who wish to
|
||||
# experiment with it.
|
||||
CC="gcc"
|
||||
AC_MSG_CHECKING(which NetBSD thread library to use)
|
||||
|
||||
AC_ARG_WITH(ptl2,
|
||||
[ --with-ptl2 on NetBSD, use the ptl2 thread library (experimental)],
|
||||
use_ptl2="$withval", use_ptl2="no")
|
||||
|
||||
: ${LOCALBASE:=/usr/pkg}
|
||||
|
||||
if test "X$use_ptl2" = "Xyes"
|
||||
then
|
||||
AC_MSG_RESULT(PTL2)
|
||||
AC_MSG_WARN(
|
||||
[linking with PTL2 is highly experimental and not expected to work])
|
||||
CC=ptlgcc
|
||||
else
|
||||
if test ! -d $LOCALBASE/pthreads
|
||||
then
|
||||
AC_MSG_RESULT(none)
|
||||
use_threads=false
|
||||
fi
|
||||
|
||||
if $use_threads
|
||||
then
|
||||
AC_MSG_RESULT(mit-pthreads/unproven-pthreads)
|
||||
pkg="$LOCALBASE/pthreads"
|
||||
lib1="-L$pkg/lib -Wl,-R$pkg/lib"
|
||||
lib2="-lpthread -lm -lgcc -lpthread"
|
||||
LIBS="$lib1 $lib2 $LIBS"
|
||||
CPPFLAGS="$CPPFLAGS -I$pkg/include"
|
||||
STD_CINCLUDES="$STD_CINCLUDES -I$pkg/include"
|
||||
fi
|
||||
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,,
|
||||
use_threads=false)))))
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
sinclude(config.threads.in)dnl
|
||||
|
||||
if $use_threads
|
||||
then
|
||||
|
|
@ -520,8 +441,6 @@ else
|
|||
thread_dir=nothreads
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNC(strlcat, AC_DEFINE(HAVE_STRLCAT))
|
||||
|
||||
AC_SUBST(ALWAYS_DEFINES)
|
||||
AC_SUBST(DO_PTHREADS)
|
||||
AC_SUBST(WANT_IRS_THREADSGR_OBJS)
|
||||
|
|
@ -529,6 +448,8 @@ AC_SUBST(WANT_IRS_THREADSPW_OBJS)
|
|||
AC_SUBST(WANT_IRS_THREADS_OBJS)
|
||||
AC_SUBST(WANT_THREADS_OBJS)
|
||||
|
||||
AC_CHECK_FUNC(strlcat, AC_DEFINE(HAVE_STRLCAT))
|
||||
|
||||
AC_CHECK_FUNC(if_nametoindex,
|
||||
[USE_IFNAMELINKID="#define USE_IFNAMELINKID 1"],
|
||||
[USE_IFNAMELINKID="#undef USE_IFNAMELINKID"])
|
||||
|
|
|
|||
Loading…
Reference in a new issue