configure.in revision e91cd8b6ce6ba79d9b3ddd13494b6f9a89351428
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# Copyright (C) 1998-2000 Internet Software Consortium.
ff2d95be3d5e0350c5b457582cdb08869fc17789Tinderbox User#
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence# Permission to use, copy, modify, and distribute this software for any
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# purpose with or without fee is hereby granted, provided that the above
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# copyright notice and this permission notice appear in all copies.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
135bcc2e42a94543f11af2a4196b13552ab46d89Automatic Updater# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein# CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence# PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# SOFTWARE.
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrencednl
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid LawrenceAC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrenceesyscmd([sed "s/^/# /" COPYRIGHT])dnl
f44202ab640d22e17b4c74bdad7817622918bd27Mark AndrewsAC_DIVERT_POP()dnl
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian WellingtonAC_REVISION($Revision: 1.166 $)
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid LawrenceAC_INIT(lib/dns/name.c)
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian WellingtonAC_PREREQ(2.13)
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson
7dde2780aeae0da4e965d823578a604d8ce1215fAndreas GustafssonAC_CONFIG_HEADER(config.h)
7dde2780aeae0da4e965d823578a604d8ce1215fAndreas Gustafsson
f5862b6f22761d83c230e17f7d443211df19e52cBrian WellingtonAC_CANONICAL_HOST
9259fed3d8ac5d1efa9b5a647969e40c9c934484Andreas Gustafsson
9259fed3d8ac5d1efa9b5a647969e40c9c934484Andreas GustafssonAC_PROG_MAKE_SET
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas GustafssonAC_PROG_RANLIB
45e1bd63587102c3bb361eaca42ee7b714fb3542Mark AndrewsAC_PROG_INSTALL
45e1bd63587102c3bb361eaca42ee7b714fb3542Mark Andrews
45e1bd63587102c3bb361eaca42ee7b714fb3542Mark AndrewsAC_SUBST(STD_CINCLUDES)
c6d4f781529d2f28693546b25b2967d44ec89e60Mark AndrewsAC_SUBST(STD_CDEFINES)
45e1bd63587102c3bb361eaca42ee7b714fb3542Mark AndrewsAC_SUBST(STD_CWARNINGS)
45e1bd63587102c3bb361eaca42ee7b714fb3542Mark AndrewsAC_SUBST(CCOPT)
4e1d3e67cdc76609bad5f0310ac48de10b442b9fMark Andrews
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas GustafssonAC_PATH_PROG(AR, ar)
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas GustafssonARFLAGS="cruv"
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas GustafssonAC_SUBST(AR)
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas GustafssonAC_SUBST(ARFLAGS)
fb01226bcd598c36b5edc566489c890c39f03ed3Brian Wellington
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews# The POSIX ln(1) program. Non-POSIX systems may substitute
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# "copy" or something.
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian WellingtonLN=ln
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian WellingtonAC_SUBST(LN)
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellingtoncase "$AR" in
45e1bd63587102c3bb361eaca42ee7b714fb3542Mark Andrews "")
45e1bd63587102c3bb361eaca42ee7b714fb3542Mark Andrews AC_MSG_ERROR([
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafssonar program not found. Please fix your PATH to include the directory in
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellingtonwhich ar resides, or set AR in the environment with the full path to ar.
4e1d3e67cdc76609bad5f0310ac48de10b442b9fMark Andrews])
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington ;;
4e1d3e67cdc76609bad5f0310ac48de10b442b9fMark Andrewsesac
9df7d74e421cf715c6e3cbbad2aba6d33a5d1c9bBrian Wellington
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas GustafssonAC_PATH_PROGS(ETAGS, etags emacs-etags)
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian WellingtonAC_SUBST(ETAGS)
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington#
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington# Perl is optional; it is used only by some of the system test scripts.
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington#
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian WellingtonAC_PATH_PROGS(PERL, perl5 perl)
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian WellingtonAC_SUBST(PERL)
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson#
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence# Special processing of paths depending on whether --prefix,
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence# --sysconfdir or --localstatedir arguments were given. What's
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence# desired is some compatability with the way previous versions
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington# of BIND built; they defaulted to /usr/local for most parts of
6f7abb89ec22aef5eda40ed60fcf605a42b78d4dMark Andrews# the installation, but named.boot/named.conf was in /etc
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington# and named.pid was in /var/run.
6e49e91bd08778d7eae45a2229dcf41ed97cc636David Lawrence#
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# So ... if none of --prefix, --sysconfdir or --localstatedir are
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉# specified, set things up that way. If --prefix is given, use
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# it for sysconfdir and localstatedir the way configure normally
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# would. To change the prefix for everything but leave named.conf
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# in /etc or named.pid in /var/run, then do this the usual configure way:
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence# ./configure --prefix=/somewhere --sysconfdir=/etc
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence# ./configure --prefix=/somewhere --localstatedir=/var
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence#
fb64c9cf757422c5473764521ffc7c6111b8c821Brian Wellington# To put named.conf and named.pid in /usr/local with everything else,
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews# set the prefix explicitly to /usr/local even though that's the default:
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews# ./configure --prefix=/usr/local
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington#
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrewscase "$prefix" in
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews NONE)
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington case "$sysconfdir" in
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington '${prefix}/etc')
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson sysconfdir=/etc
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson ;;
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington esac
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington case "$localstatedir" in
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson '${prefix}/var')
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson localstatedir=/var
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson ;;
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson esac
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson ;;
6e49e91bd08778d7eae45a2229dcf41ed97cc636David Lawrenceesac
734ae1f7c6abafe1f1ca164aad7a3dd01ee82cbdBrian Wellington
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson#
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# Make sure INSTALL uses an absolute path, else it will be wrong in all
6e49e91bd08778d7eae45a2229dcf41ed97cc636David Lawrence# Makefiles, since they use make/rules.in and INSTALL will be adjusted by
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# configure based on the location of the file where it is substituted.
fb01226bcd598c36b5edc566489c890c39f03ed3Brian Wellington# Since in BIND9 INSTALL is only substituted into make/rules.in, an immediate
7a184cd4e5a54a4e530f9bff8a4e46be392d0b52Brian Wellington# subdirectory of install-sh, This relative path will be wrong for all
fb01226bcd598c36b5edc566489c890c39f03ed3Brian Wellington# directories more than one level down from install-sh.
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews#
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafssoncase "$INSTALL" in
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson /*)
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson ;;
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson *)
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews #
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews # Not all systems have dirname.
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews #
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews changequote({, })
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews ac_dir="`echo $INSTALL | sed 's%/[^/]*$%%'`"
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson changequote([, ])
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson ac_prog="`echo $INSTALL | sed 's%.*/%%'`"
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson test "$ac_dir" = "$ac_prog" && ac_dir=.
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington test -d "$ac_dir" && ac_dir="`(cd \"$ac_dir\" && pwd)`"
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington INSTALL="$ac_dir/$ac_prog"
26a5f97dd8770ced729025488091b77d8beb0ab6Brian Wellington ;;
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellingtonesac
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson#
9df7d74e421cf715c6e3cbbad2aba6d33a5d1c9bBrian Wellington# On these hosts, we really want to use cc, not gcc, even if it is
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# found. The gcc that these systems have will not correctly handle
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# pthreads.
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson#
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson# However, if the user sets $CC to be something, let that override
45e1bd63587102c3bb361eaca42ee7b714fb3542Mark Andrews# our change.
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington#
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafssonif test "X$CC" = "X" ; then
45e1bd63587102c3bb361eaca42ee7b714fb3542Mark Andrews case "$host" in
45e1bd63587102c3bb361eaca42ee7b714fb3542Mark Andrews *-dec-osf*)
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson CC="cc"
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson ;;
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington *-solaris*)
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington # Use Sun's cc if it is available, but watch
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt # out for /usr/ucb/cc; it will never be the right
351b62535d4c4f89883bfdba025999dd32490266Evan Hunt # compiler to use.
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington #
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington # If setting CC here fails, the AC_PROG_CC done
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington # below might still find gcc.
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington for ac_dir in $PATH; do
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington test -z "$ac_dir" && ac_dir=.
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson case "$ac_dir" in
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson /usr/ucb)
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson # exclude
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson ;;
c885fad9b8bf204ae9e62c9acb0321e2bcca30a4Andreas Gustafsson *)
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington if test -f "$ac_dir/cc"; then
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington CC="$ac_dir/cc"
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington break
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence fi
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington ;;
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington esac
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington done
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington IFS="$ac_save_ifs"
8c7eaac6bbcc9746afe8f57b60bb964745c01eafAndreas Gustafsson ;;
8c7eaac6bbcc9746afe8f57b60bb964745c01eafAndreas Gustafsson *-hp-hpux*)
8c7eaac6bbcc9746afe8f57b60bb964745c01eafAndreas Gustafsson CC="cc"
c885fad9b8bf204ae9e62c9acb0321e2bcca30a4Andreas Gustafsson ;;
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson mips-sgi-irix*)
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson CC="cc"
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson ;;
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson esac
433e06a25cdd92d665abda3e64c2c65f4a3f9b21Mark Andrewsfi
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson
f93d33e24fdf76eb2558168f018b8992bcfc5681Andreas Gustafsson#
# Find the machine's endian flavor.
#
AC_C_BIGENDIAN
#
# If the user didn't specify where openssl is, and we didn't find or it
# is imcompatible with our code, use our internal one.
# XXXMLG Implement this check!
#
AC_MSG_CHECKING(for compatible OpenSSL library)
DST_PRIVATEOPENSSL='-DDST_USE_PRIVATE_OPENSSL'
dst_privateopenssl='openssl'
DST_OPENSSL_INC='-I${srcdir}/../openssl/include'
DST_OPENSSL_LIB=''
DST_OPENSSL_OBJS='${OPENSSLOBJS}'
AC_MSG_RESULT(using private library)
AC_SUBST(DST_PRIVATEOPENSSL)
AC_SUBST(dst_privateopenssl)
AC_SUBST(DST_OPENSSL_INC)
AC_SUBST(DST_OPENSSL_LIB)
AC_SUBST(DST_OPENSSL_OBJS)
#
# This would include the system openssl path (and linker options to use
# it as needed) if it is found.
#
DNS_OPENSSL_LIBS=""
AC_SUBST(DNS_OPENSSL_LIBS)
#
# testing with alternate openssl libraries... XXXMLG
#
# DNS_OPENSSL_LIBS="-L/usr/pkg/lib -lssl -lcrypto"
# DST_PRIVATEOPENSSL=''
# dst_privateopenssl=''
# DST_OPENSSL_INC='-I/usr/pkg/include'
# DST_OPENSSL_LIB=''
#
#
# 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.
#
case "$host" in
*-netbsd*)
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
AC_MSG_RESULT(mit-pthreads/unproven-pthreads)
if test ! -d $LOCALBASE/pthreads
then
AC_MSG_ERROR([no thread library found.
Please install the devel/unproven-pthreads package and rerun configure.
])
fi
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
;;
esac
AC_PROG_CC
AC_PROG_YACC
AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/sockio.h)
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
AC_HEADER_TIME
case "$host" in
*-netbsd*)
;;
*)
AC_CHECK_LIB(pthread, pthread_create,,
AC_CHECK_LIB(pthread, __pthread_create)
AC_CHECK_LIB(pthread, __pthread_create_system))
;;
esac
#
# We'd like to use sigwait() too
#
AC_CHECK_LIB(c, sigwait,
AC_DEFINE(HAVE_SIGWAIT),
AC_CHECK_LIB(pthread, sigwait,
AC_DEFINE(HAVE_SIGWAIT),
AC_CHECK_LIB(pthread, _Psigwait,
AC_DEFINE(HAVE_SIGWAIT),))
)
#
# Additional OS-specific issues related to pthreads and sigwait.
#
case "$host" in
#
# One more place to look for sigwait.
#
*-freebsd*)
AC_CHECK_LIB(c_r, sigwait, AC_DEFINE(HAVE_SIGWAIT),)
;;
#
# BSDI 3.1 through 4.0.1 needs pthread_init() to be called before
# certain pthreads calls. This is deprecated in BSD/OS 4.1.
#
*-bsdi3.1*|*-bsdi4.0*)
AC_DEFINE(NEED_PTHREAD_INIT)
;;
#
# LinuxThreads requires some changes to the way we deal with signals.
#
*-linux*)
AC_DEFINE(HAVE_LINUXTHREADS)
;;
#
# Ensure the right sigwait() semantics on Solaris.
#
*-solaris*)
AC_DEFINE(_POSIX_PTHREAD_SEMANTICS)
AC_CHECK_FUNC(pthread_setconcurrency,
AC_DEFINE(CALL_PTHREAD_SETCONCURRENCY))
;;
#
# UnixWare does things its own way.
#
*-UnixWare*)
AC_DEFINE(HAVE_UNIXWARE_SIGWAIT)
;;
esac
#
# Look for sysconf to allow detection of the number of processors.
#
AC_CHECK_FUNC(sysconf, AC_DEFINE(HAVE_SYSCONF),)
#
# NLS
#
AC_CHECK_FUNC(catgets, AC_DEFINE(HAVE_CATGETS),)
#
# -lxnet buys us one big porting headache... standards, gotta love 'em.
#
# AC_CHECK_LIB(xnet, socket, ,
# AC_CHECK_LIB(socket, socket)
# AC_CHECK_LIB(nsl, inet_ntoa)
# )
#
# Use this for now, instead:
#
case "$host" in
mips-sgi-irix*)
;;
*)
AC_CHECK_LIB(socket, socket)
AC_CHECK_LIB(nsl, inet_ntoa)
;;
esac
MKDEPCC="$CC"
MKDEPCFLAGS="-M"
IRIX_DNSSEC_WARNINGS_HACK=""
if test "X$GCC" = "Xyes"; then
STD_CWARNINGS="$STD_CWARNINGS -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings"
case "$host" in
*-freebsd*)
CC="$CC -pthread"
CCOPT="$CCOPT -pthread"
STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
;;
*-openbsd*)
CC="$CC -pthread"
CCOPT="$CCOPT -pthread"
;;
*-solaris*)
LIBS="$LIBS -lthread"
;;
*-ibm-aix*)
STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
;;
esac
else
case "$host" in
*-dec-osf*)
CC="$CC -std -pthread"
CCOPT="$CCOPT -std -pthread"
MKDEPCC="$CC"
;;
*-solaris*)
CC="$CC -mt"
CCOPT="$CCOPT -mt"
MKDEPCC="$CC"
MKDEPCFLAGS="-xM"
;;
*-hp-hpux*)
CC="$CC -Ae -z +w1"
CCOPT="CCOPT -Ae -z"
LIBS="-Wl,+vnocompatwarnings $LIBS"
MKDEPPROG='cc -Ae -E -Wp,-M >/dev/null 2>>$TMP'
;;
*-sgi-irix*)
STD_CWARNINGS="-fullwarn -woff 1209"
#
# Silence more than 250 instances of
# "prototyped function redeclared without prototype"
# and 11 instances of
# "variable ... was set but never used"
# from lib/dns/sec/{dnssafe,openssl}.
#
IRIX_DNSSEC_WARNINGS_HACK="-woff 1692,1552"
;;
*-ibm-aix*)
STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
;;
*-UnixWare*)
CC="$CC -Kthread -w"
CCOPT="$CCOPT -Kthread"
MKDEPCC="$CC"
YACC="yacc" # bison calls alloca, avoid on UnixWare
;;
esac
fi
AC_SUBST(MKDEPCC)
AC_SUBST(MKDEPCFLAGS)
AC_SUBST(MKDEPPROG)
AC_SUBST(IRIX_DNSSEC_WARNINGS_HACK)
#
# Networking specifics.
#
case "$host" in
*-dec-osf*)
# Turn on 4.4BSD style sa_len support.
AC_DEFINE(_SOCKADDR_LEN)
;;
esac
#
# Look for a 4.4BSD-style sa_len member in struct sockaddr.
#
AC_MSG_CHECKING(for sa_len in struct sockaddr)
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>],
[struct sockaddr sa; sa.sa_len = 0; return (0);],
[AC_MSG_RESULT(yes)
ISC_PLATFORM_HAVESALEN="#define ISC_PLATFORM_HAVESALEN 1"
LWRES_PLATFORM_HAVESALEN="#define LWRES_PLATFORM_HAVESALEN 1"],
[AC_MSG_RESULT(no)
ISC_PLATFORM_HAVESALEN="#undef ISC_PLATFORM_HAVESALEN"
LWRES_PLATFORM_HAVESALEN="#undef LWRES_PLATFORM_HAVESALEN"])
AC_SUBST(ISC_PLATFORM_HAVESALEN)
AC_SUBST(LWRES_PLATFORM_HAVESALEN)
#
# Look for a 4.4BSD or 4.3BSD struct msghdr
#
AC_MSG_CHECKING(for struct msghdr flavor)
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>],
[struct msghdr msg; msg.msg_flags = 0; return (0);],
[AC_MSG_RESULT(4.4BSD)
ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD44MSGHDR 1"],
[AC_MSG_RESULT(4.3BSD)
ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD43MSGHDR 1"])
AC_SUBST(ISC_PLATFORM_MSGHDRFLAVOR)
#
# Look for in_port_t.
#
AC_MSG_CHECKING(for type in_port_t)
AC_TRY_COMPILE([
#include <sys/types.h>
#include <netinet/in.h>],
[in_port_t port = 25; return (0);],
[AC_MSG_RESULT(yes)
ISC_PLATFORM_NEEDPORTT="#undef ISC_PLATFORM_NEEDPORTT"],
[AC_MSG_RESULT(no)
ISC_PLATFORM_NEEDPORTT="#define ISC_PLATFORM_NEEDPORTT 1"])
AC_SUBST(ISC_PLATFORM_NEEDPORTT)
#
# Check for addrinfo
#
AC_MSG_CHECKING(for struct addrinfo)
AC_TRY_COMPILE([
#include <netdb.h>],
[struct addrinfo a; return (0);],
[AC_MSG_RESULT(yes)
ISC_LWRES_NEEDADDRINFO="#undef ISC_LWRES_NEEDADDRINFO"
AC_DEFINE(HAVE_ADDRINFO)],
[AC_MSG_RESULT(no)
ISC_LWRES_NEEDADDRINFO="#define ISC_LWRES_NEEDADDRINFO 1"])
AC_SUBST(ISC_LWRES_NEEDADDRINFO)
AC_MSG_CHECKING(for int sethostent)
AC_TRY_COMPILE([
#include <netdb.h>],
[int i = sethostent(0); return(0);],
[AC_MSG_RESULT(yes)
ISC_LWRES_SETHOSTENTINT="#define ISC_LWRES_SETHOSTENTINT 1"],
[AC_MSG_RESULT(no)
ISC_LWRES_SETHOSTENTINT="#undef ISC_LWRES_SETHOSTENTINT"])
AC_SUBST(ISC_LWRES_SETHOSTENTINT)
AC_MSG_CHECKING(for int endhostent)
AC_TRY_COMPILE([
#include <netdb.h>],
[int i = endhostent(); return(0);],
[AC_MSG_RESULT(yes)
ISC_LWRES_ENDHOSTENTINT="#define ISC_LWRES_ENDHOSTENTINT 1"],
[AC_MSG_RESULT(no)
ISC_LWRES_ENDHOSTENTINT="#undef ISC_LWRES_ENDHOSTENTINT"])
AC_SUBST(ISC_LWRES_ENDHOSTENTINT)
AC_MSG_CHECKING(for getnetbyaddr(in_addr_t, ...))
AC_TRY_COMPILE([
#include <netdb.h>
struct netent *getnetbyaddr(in_addr_t, int);],
[],
[AC_MSG_RESULT(yes)
ISC_LWRES_GETNETBYADDRINADDR="#define ISC_LWRES_GETNETBYADDRINADDR 1"],
[AC_MSG_RESULT(no)
ISC_LWRES_GETNETBYADDRINADDR="#undef ISC_LWRES_GETNETBYADDRINADDR"])
AC_SUBST(ISC_LWRES_GETNETBYADDRINADDR)
AC_MSG_CHECKING(for int setnetent)
AC_TRY_COMPILE([
#include <netdb.h>],
[int i = setnetent(0); return(0);],
[AC_MSG_RESULT(yes)
ISC_LWRES_SETNETENTINT="#define ISC_LWRES_SETNETENTINT 1"],
[AC_MSG_RESULT(no)
ISC_LWRES_SETNETENTINT="#undef ISC_LWRES_SETNETENTINT"])
AC_SUBST(ISC_LWRES_SETNETENTINT)
AC_MSG_CHECKING(for int endnetent)
AC_TRY_COMPILE([
#include <netdb.h>],
[int i = endnetent(); return(0);],
[AC_MSG_RESULT(yes)
ISC_LWRES_ENDNETENTINT="#define ISC_LWRES_ENDNETENTINT 1"],
[AC_MSG_RESULT(no)
ISC_LWRES_ENDNETENTINT="#undef ISC_LWRES_ENDNETENTINT"])
AC_SUBST(ISC_LWRES_ENDNETENTINT)
AC_MSG_CHECKING(for gethostbyadd(const void *, size_t, ...))
AC_TRY_COMPILE([
#include <netdb.h>
struct hostent *gethostbyaddr(const void *, size_t, int);],
[return(0);],
[AC_MSG_RESULT(yes)
ISC_LWRES_GETHOSTBYADDRVOID="#define ISC_LWRES_GETHOSTBYADDRVOID 1"],
[AC_MSG_RESULT(no)
ISC_LWRES_GETHOSTBYADDRVOID="#undef ISC_LWRES_GETHOSTBYADDRVOID"])
AC_SUBST(ISC_LWRES_GETHOSTBYADDRVOID)
AC_MSG_CHECKING(for h_errno in netdb.h)
AC_TRY_COMPILE([
#include <netdb.h>],
[h_errno = 1; return(0);],
[AC_MSG_RESULT(yes)
ISC_LWRES_NEEDHERRNO="#undef ISC_LWRES_NEEDHERRNO"],
[AC_MSG_RESULT(no)
ISC_LWRES_NEEDHERRNO="#define ISC_LWRES_NEEDHERRNO 1"])
AC_SUBST(ISC_LWRES_NEEDHERRNO)
AC_CHECK_FUNC(getipnodebyname,
[ISC_LWRES_GETIPNODEPROTO="#undef ISC_LWRES_GETIPNODEPROTO"],
[ISC_LWRES_GETIPNODEPROTO="#define ISC_LWRES_GETIPNODEPROTO 1"])
AC_CHECK_FUNC(getnameinfo,
[ISC_LWRES_GETNAMEINFOPROTO="#undef ISC_LWRES_GETNAMEINFOPROTO"],
[ISC_LWRES_GETNAMEINFOPROTO="#define ISC_LWRES_GETNAMEINFOPROTO 1"])
AC_CHECK_FUNC(getaddrinfo,
[ISC_LWRES_GETADDRINFOPROTO="#undef ISC_LWRES_GETADDRINFOPROTO"
AC_DEFINE(HAVE_GETADDRINFO)],
[ISC_LWRES_GETADDRINFOPROTO="#define ISC_LWRES_GETADDRINFOPROTO 1"])
AC_SUBST(ISC_LWRES_GETIPNODEPROTO)
AC_SUBST(ISC_LWRES_GETADDRINFOPROTO)
AC_SUBST(ISC_LWRES_GETNAMEINFOPROTO)
#
# Look for a sysctl call to get the list of network interfaces.
#
AC_MSG_CHECKING(for interface list sysctl)
AC_EGREP_CPP(found_rt_iflist, [
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/socket.h>
#ifdef NET_RT_IFLIST
found_rt_iflist
#endif
],
[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_IFLIST_SYSCTL)],
[AC_MSG_RESULT(no)])
#
# GNU libtool support
#
AC_ARG_WITH(libtool,
[ --with-libtool use GNU libtool (following indented options supported)],
use_libtool="$withval", use_libtool="no")
case $use_libtool in
yes)
AM_PROG_LIBTOOL
O=lo
A=la
;;
*)
O=o
A=a
LIBTOOL=
AC_SUBST(LIBTOOL)
;;
esac
# File name extension for static archive files, for those few places
# where they are treated differently from dynamic ones.
SA=a
AC_SUBST(O)
AC_SUBST(A)
AC_SUBST(SA)
#
# IPv6
#
AC_ARG_ENABLE(ipv6,
[ --enable-ipv6 use IPv6 [default=autodetect]])
#
# We do the IPv6 compilation checking after libtool so that we can put
# the right suffix on the files.
#
case "$enable_ipv6" in
yes|''|autodetect)
AC_MSG_CHECKING(for IPv6 structures)
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>],
[struct sockaddr_in6 sin6; return (0);],
[AC_MSG_RESULT(yes)
found_ipv6=yes],
[AC_MSG_RESULT(no)
found_ipv6=no])
;;
no)
found_ipv6=no
;;
esac
#
# See whether IPv6 support is provided via a Kame add-on.
# This is done before other IPv6 linking tests to LIBS is properly set.
#
AC_MSG_CHECKING(for Kame IPv6 support)
AC_ARG_WITH(kame,
[ --with-kame[=PATH] use Kame IPv6 [default path /usr/local/v6]],
use_kame="$withval", use_kame="no")
case "$use_kame" in
no)
;;
yes)
kame_path=/usr/local/v6
;;
*)
kame_path="$use_kame"
;;
esac
case "$use_kame" in
no)
AC_MSG_RESULT(no)
;;
*)
if test -f $kame_path/lib/libinet6.a; then
AC_MSG_RESULT($kame_path/lib/libinet6.a)
LIBS="-L$kame_path/lib -linet6 $LIBS"
else
AC_MSG_ERROR([$kame_path/lib/libinet6.a not found.
Please choose the proper path with the following command:
configure --with-kame=PATH
])
fi
;;
esac
#
# Whether netinet6/in6.h is needed has to be defined in isc/platform.h.
# Including it on Kame-using platforms is very bad, though, because
# Kame uses #error against direct inclusion. So include it on only
# the platform that is otherwise broken without it -- BSD/OS 4.0 through 4.1.
# This is done before the in6_pktinfo check because that's what
# netinet6/in6.h is needed for.
#
changequote({, })
case "$host" in
*-bsdi4.[01]*)
ISC_PLATFORM_NEEDNETINET6IN6H="#define ISC_PLATFORM_NEEDNETINET6IN6H 1"
LWRES_PLATFORM_NEEDNETINET6IN6H="#define LWRES_PLATFORM_NEEDNETINET6IN6H 1"
isc_netinet6in6_hack="#include <netinet6/in6.h>"
;;
*)
ISC_PLATFORM_NEEDNETINET6IN6H="#undef ISC_PLATFORM_NEEDNETINET6IN6H"
LWRES_PLATFORM_NEEDNETINET6IN6H="#undef LWRES_PLATFORM_NEEDNETINET6IN6H"
isc_netinet6in6_hack=""
;;
esac
changequote([, ])
#
# This is similar to the netinet6/in6.h issue.
#
case "$host" in
*-UnixWare*)
ISC_PLATFORM_NEEDNETINETIN6H="#define ISC_PLATFORM_NEEDNETINETIN6H 1"
LWRES_PLATFORM_NEEDNETINETIN6H="#define LWRES_PLATFORM_NEEDNETINETIN6H 1"
isc_netinetin6_hack="#include <netinet/in6.h>"
;;
*)
ISC_PLATFORM_NEEDNETINETIN6H="#undef ISC_PLATFORM_NEEDNETINETIN6H"
LWRES_PLATFORM_NEEDNETINETIN6H="#undef LWRES_PLATFORM_NEEDNETINETIN6H"
isc_netinetin6_hack=""
;;
esac
#
# Now delve deeper into the suitability of the IPv6 support.
#
case "$found_ipv6" in
yes)
ISC_PLATFORM_HAVEIPV6="#define ISC_PLATFORM_HAVEIPV6 1"
LWRES_PLATFORM_HAVEIPV6="#define LWRES_PLATFORM_HAVEIPV6 1"
AC_MSG_CHECKING(for in6addr_any)
AC_TRY_LINK([
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
$isc_netinetin6_hack],
[struct in6_addr in6; in6 = in6addr_any; return (0);],
[AC_MSG_RESULT(yes)
ISC_PLATFORM_NEEDIN6ADDRANY="#undef ISC_PLATFORM_NEEDIN6ADDRANY"
LWRES_PLATFORM_NEEDIN6ADDRANY="#undef LWRES_PLATFORM_NEEDIN6ADDRANY"],
[AC_MSG_RESULT(no)
ISC_PLATFORM_NEEDIN6ADDRANY="#define ISC_PLATFORM_NEEDIN6ADDRANY 1"
LWRES_PLATFORM_NEEDIN6ADDRANY="#define LWRES_PLATFORM_NEEDIN6ADDRANY 1"])
AC_MSG_CHECKING(for sin6_scope_id in struct sockaddr_in6)
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
$isc_netinetin6_hack
$isc_netinet6in6_hack
],
[struct sockaddr_in6 xyzzy; xyzzy.sin6_scope_id = 0; return (0);],
[AC_MSG_RESULT(yes)
result="#define LWRES_HAVE_SIN6_SCOPE_ID 1"],
[AC_MSG_RESULT(no)
result="#undef LWRES_HAVE_SIN6_SCOPE_ID"])
LWRES_HAVE_SIN6_SCOPE_ID="$result"
AC_MSG_CHECKING(for in6_pktinfo)
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
$isc_netinetin6_hack
$isc_netinet6in6_hack
],
[struct in6_pktinfo xyzzy; return (0);],
[AC_MSG_RESULT(yes)
ISC_PLATFORM_HAVEIN6PKTINFO="#define ISC_PLATFORM_HAVEIN6PKTINFO 1"],
[AC_MSG_RESULT(no -- disabling runtime ipv6 support)
ISC_PLATFORM_HAVEIN6PKTINFO="#undef ISC_PLATFORM_HAVEIN6PKTINFO"])
;;
no)
ISC_PLATFORM_HAVEIPV6="#undef ISC_PLATFORM_HAVEIPV6"
LWRES_PLATFORM_HAVEIPV6="#undef LWRES_PLATFORM_HAVEIPV6"
ISC_PLATFORM_NEEDIN6ADDRANY="#undef ISC_PLATFORM_NEEDIN6ADDRANY"
LWRES_PLATFORM_NEEDIN6ADDRANY="#undef LWRES_PLATFORM_NEEDIN6ADDRANY"
ISC_PLATFORM_HAVEIN6PKTINFO="#undef ISC_PLATFORM_HAVEIN6PKTINFO"
LWRES_HAVE_SIN6_SCOPE_ID="#define LWRES_HAVE_SIN6_SCOPE_ID 1"
ISC_IPV6_H="ipv6.h"
ISC_IPV6_O="ipv6.$O"
ISC_ISCIPV6_O="unix/ipv6.$O"
ISC_IPV6_C="ipv6.c"
;;
esac
AC_SUBST(ISC_PLATFORM_HAVEIPV6)
AC_SUBST(LWRES_PLATFORM_HAVEIPV6)
AC_SUBST(ISC_PLATFORM_NEEDNETINETIN6H)
AC_SUBST(LWRES_PLATFORM_NEEDNETINETIN6H)
AC_SUBST(ISC_PLATFORM_NEEDNETINET6IN6H)
AC_SUBST(LWRES_PLATFORM_NEEDNETINET6IN6H)
AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRANY)
AC_SUBST(LWRES_PLATFORM_NEEDIN6ADDRANY)
AC_SUBST(ISC_PLATFORM_HAVEIN6PKTINFO)
AC_SUBST(ISC_IPV6_H)
AC_SUBST(ISC_IPV6_O)
AC_SUBST(ISC_ISCIPV6_O)
AC_SUBST(ISC_IPV6_C)
AC_SUBST(LWRES_HAVE_SIN6_SCOPE_ID)
#
# Check for network functions that are often missing. We do this
# after the libtool checking, so we can put the right suffix on
# the files.
#
AC_MSG_CHECKING([for inet_ntop])
AC_TRY_LINK([
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>],
[inet_ntop(0, 0, 0, 0); return (0);],
[AC_MSG_RESULT(yes)
ISC_PLATFORM_NEEDNTOP="#undef ISC_PLATFORM_NEEDNTOP"],
[AC_MSG_RESULT(no)
ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_ntop.$O"
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_ntop.c"
ISC_PLATFORM_NEEDNTOP="#define ISC_PLATFORM_NEEDNTOP 1"])
AC_MSG_CHECKING([for inet_pton])
AC_TRY_LINK([
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>],
[inet_pton(0, 0, 0); return (0);],
[AC_MSG_RESULT(yes)
ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"],
[AC_MSG_RESULT(no)
ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_pton.$O"
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_pton.c"
ISC_PLATFORM_NEEDPTON="#define ISC_PLATFORM_NEEDPTON 1"])
AC_MSG_CHECKING([for inet_aton])
AC_TRY_LINK([
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>],
[struct in_addr in; inet_aton(0, &in); return (0);],
[AC_MSG_RESULT(yes)
ISC_PLATFORM_NEEDATON="#undef ISC_PLATFORM_NEEDATON"],
[AC_MSG_RESULT(no)
ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_aton.$O"
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_aton.c"
ISC_PLATFORM_NEEDATON="#define ISC_PLATFORM_NEEDATON 1"])
AC_SUBST(ISC_PLATFORM_NEEDNTOP)
AC_SUBST(ISC_PLATFORM_NEEDPTON)
AC_SUBST(ISC_PLATFORM_NEEDATON)
# Check for some other useful functions that are not ever-present.
AC_CHECK_FUNC(strsep,
[ISC_PLATFORM_NEEDSTRSEP="#undef ISC_PLATFORM_NEEDSTRSEP"],
[ISC_PLATFORM_NEEDSTRSEP="#define ISC_PLATFORM_NEEDSTRSEP 1"])
AC_CHECK_FUNC(vsnprintf,
[ISC_PLATFORM_NEEDVSNPRINTF="#undef ISC_PLATFORM_NEEDVSNPRINTF"],
[ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS print.$O"
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS print.c"
ISC_PLATFORM_NEEDVSNPRINTF="#define ISC_PLATFORM_NEEDVSNPRINTF 1"])
AC_SUBST(ISC_PLATFORM_NEEDSTRSEP)
AC_SUBST(ISC_PLATFORM_NEEDVSNPRINTF)
AC_SUBST(ISC_EXTRA_OBJS)
AC_SUBST(ISC_EXTRA_SRCS)
AC_MSG_CHECKING(for sizeof(long long int) == sizeof(long int))
AC_TRY_RUN([main() { exit(!(sizeof(long long int) == sizeof(long int))); }],
[AC_MSG_RESULT(yes)
ISC_PLATFORM_LONGLONGEQUALLONG="#define ISC_PLATFORM_LONGLONGEQUALLONG 1"],
[AC_MSG_RESULT(no)
ISC_PLATFORM_LONGLONGEQUALLONG="#undef ISC_PLATFORM_LONGLONGEQUALLONG"],
[AC_MSG_RESULT(default yes)
ISC_PLATFORM_LONGLONGEQUALLONG="#define ISC_PLATFORM_LONGLONGEQUALLONG 1"])
AC_SUBST(ISC_PLATFORM_LONGLONGEQUALLONG)
#
# Security Stuff
#
AC_CHECK_FUNC(chroot, AC_DEFINE(HAVE_CHROOT))
AC_CHECK_HEADERS(linux/capability.h)
AC_CHECK_HEADERS(linux/prctl.h)
#
# Random remaining OS-specific issues.
# XXXDCL print messages to indicate some compensation is being done?
#
AC_SUBST(ISC_PLATFORM_BRACEPTHREADONCEINIT)
ISC_PLATFORM_BRACEPTHREADONCEINIT="#undef ISC_PLATFORM_BRACEPTHREADONCEINIT"
case "$host" in
*-bsdi3.1*)
hack_shutup_sputaux=yes
;;
*-bsdi4.0*)
hack_shutup_sigwait=yes
hack_shutup_sputaux=yes
;;
*-bsdi4.1*)
hack_shutup_stdargcast=yes
;;
*-solaris2.8)
hack_shutup_pthreadonceinit=yes
;;
esac
case "$hack_shutup_pthreadonceinit" in
yes)
#
# Shut up PTHREAD_ONCE_INIT unbraced initializer warnings.
#
ISC_PLATFORM_BRACEPTHREADONCEINIT="#define ISC_PLATFORM_BRACEPTHREADONCEINIT 1"
;;
esac
case "$hack_shutup_sigwait" in
yes)
#
# Shut up a -Wmissing-prototypes warning for sigwait().
#
AC_DEFINE(SHUTUP_SIGWAIT)
;;
esac
case "$hack_shutup_sputaux" in
yes)
#
# Shut up a -Wmissing-prototypes warning from <stdio.h>.
#
AC_DEFINE(SHUTUP_SPUTAUX)
;;
esac
case "$hack_shutup_stdargcast" in
yes)
#
# Shut up a -Wcast-qual warning from va_start().
#
AC_DEFINE(SHUTUP_STDARG_CAST)
;;
esac
#
# Substitutions
#
AC_SUBST(BIND9_TOP_BUILDDIR)
BIND9_TOP_BUILDDIR=`pwd`
AC_SUBST(BIND9_ISC_BUILDINCLUDE)
AC_SUBST(BIND9_DNS_BUILDINCLUDE)
AC_SUBST(BIND9_OMAPI_BUILDINCLUDE)
AC_SUBST(BIND9_LWRES_BUILDINCLUDE)
if test "X$srcdir" != "X"; then
BIND9_ISC_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isc/include"
BIND9_DNS_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/dns/include"
BIND9_OMAPI_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/omapi/include"
BIND9_LWRES_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/lwres/include"
else
BIND9_ISC_BUILDINCLUDE=""
BIND9_DNS_BUILDINCLUDE=""
BIND9_OMAPI_BUILDINCLUDE=""
BIND9_LWRES_BUILDINCLUDE=""
fi
AC_SUBST_FILE(BIND9_INCLUDES)
BIND9_INCLUDES=$BIND9_TOP_BUILDDIR/make/includes
AC_SUBST_FILE(BIND9_MAKE_RULES)
BIND9_MAKE_RULES=$BIND9_TOP_BUILDDIR/make/rules
. $srcdir/version
BIND9_VERSION="VERSION=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}"
AC_SUBST(BIND9_VERSION)
AC_SUBST_FILE(LIBISC_API)
LIBISC_API=$srcdir/lib/isc/api
AC_SUBST_FILE(LIBDNS_API)
LIBDNS_API=$srcdir/lib/dns/api
AC_SUBST_FILE(LIBLWRES_API)
LIBLWRES_API=$srcdir/lib/lwres/api
AC_SUBST_FILE(LIBOMAPI_API)
LIBOMAPI_API=$srcdir/lib/omapi/api
AC_OUTPUT(
make/rules
make/includes
Makefile
make/Makefile
make/mkdep
lib/Makefile
lib/isc/Makefile
lib/isc/include/Makefile
lib/isc/include/isc/Makefile
lib/isc/include/isc/platform.h
lib/isc/unix/Makefile
lib/isc/unix/include/Makefile
lib/isc/unix/include/isc/Makefile
lib/isc/nls/Makefile
lib/isc/pthreads/Makefile
lib/isc/pthreads/include/Makefile
lib/isc/pthreads/include/isc/Makefile
lib/dns/Makefile
lib/dns/include/Makefile
lib/dns/include/dns/Makefile
lib/dns/sec/Makefile
lib/dns/sec/openssl/Makefile
lib/dns/sec/openssl/include/Makefile
lib/dns/sec/openssl/include/openssl/Makefile
lib/dns/sec/dnssafe/Makefile
lib/dns/sec/dst/Makefile
lib/dns/sec/dst/include/Makefile
lib/dns/sec/dst/include/dst/Makefile
lib/dns/config/Makefile
lib/lwres/Makefile
lib/lwres/include/Makefile
lib/lwres/include/lwres/Makefile
lib/lwres/include/lwres/netdb.h
lib/lwres/include/lwres/platform.h
lib/omapi/Makefile
lib/omapi/include/Makefile
lib/omapi/include/omapi/Makefile
lib/tests/Makefile
lib/tests/include/Makefile
lib/tests/include/tests/Makefile
bin/Makefile
bin/named/Makefile
bin/named/unix/Makefile
bin/rndc/Makefile
bin/dig/Makefile
bin/nsupdate/Makefile
bin/tests/Makefile
bin/tests/names/Makefile
bin/tests/master/Makefile
bin/tests/rbt/Makefile
bin/tests/db/Makefile
bin/tests/tasks/Makefile
bin/tests/timers/Makefile
bin/tests/dst/Makefile
bin/tests/mem/Makefile
bin/tests/net/Makefile
bin/tests/sockaddr/Makefile
bin/tests/system/Makefile
bin/tests/system/conf.sh
bin/tests/system/lwresd/Makefile
bin/tests/headerdep_test.sh
bin/dnssec/Makefile
util/conf.sh
isc-config.sh
)
chmod a+x isc-config.sh