1810. [bug] configure, lib/bind/configure make different default

decisions about whether to do a threaded build.
                        [RT #13212]
This commit is contained in:
Mark Andrews 2005-03-15 22:58:49 +00:00
parent e90994e3f3
commit 9738408dcb
4 changed files with 161 additions and 238 deletions

View file

@ -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
View 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

View file

@ -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)

View file

@ -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"])