configure.in revision 193738b819e3c699f9edd18864a6810fcfcec855
# Copyright (C) 1998, 1999, 2000 Internet Software Consortium.
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
# ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
# CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
# PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
# SOFTWARE.
AC_REVISION($Revision: 1.102 $)
AC_PREREQ(2.13)
AC_INIT(lib/dns/name.c)
AC_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
AC_PROG_MAKE_SET
AC_PROG_RANLIB
AC_PROG_INSTALL
STD_CINCLUDES=""
STD_CDEFINES=""
STD_CWARNINGS=""
AC_SUBST(STD_CINCLUDES)
AC_SUBST(STD_CDEFINES)
AC_SUBST(STD_CWARNINGS)
AC_PATH_PROG(AR, ar)
ARFLAGS="cruv"
AC_SUBST(AR)
AC_SUBST(ARFLAGS)
#
# Special processing of paths depending on whether --prefix,
# --sysconfdir or --localstatedir arguments were given. What's
# desired is some compatability with the way previous versions
# of BIND built; they defaulted to /usr/local for most parts of
# the installation, but named.boot/named.conf was in /etc
# and named.pid was in /var/run.
#
# So ... if none of --prefix, --sysconfdir or --localstatedir are
# specified, set things up that way. If --prefix is given, use
# it for sysconfdir and localstatedir the way configure normally
# would. To change the prefix for everything but leave named.conf
# in /etc or named.pid in /var/run, then do this the usual configure way:
# ./configure --prefix=/somewhere --sysconfdir=/etc
# ./configure --prefix=/somewhere --localstatedir=/var
#
# To put named.conf and named.pid in /usr/local with everything else,
# set the prefix explicitly to /usr/local even though that's the default:
# ./configure --prefix=/usr/local
#
case "$prefix" in
NONE)
case "$sysconfdir" in
'${prefix}/etc')
sysconfdir=/etc
;;
esac
case "$localstatedir" in
'${prefix}/var')
localstatedir=/var
;;
esac
;;
esac
#
# Make sure INSTALL uses an absolute path, else it will be wrong in all
# Makefiles, since they use make/rules.in and INSTALL will be adjusted by
# configure based on the location of the file where it is substituted.
# Since in BIND9 INSTALL is only substituted into make/rules.in, an immediate
# subdirectory of install-sh, This relative path will be wrong for all
# directories more than one level down from install-sh.
#
case "$INSTALL" in
/*)
;;
*)
#
# Not all systems have dirname.
#
changequote({, })
ac_dir="`echo $INSTALL | sed 's%/[^/]*$%%'`"
changequote([, ])
ac_prog="`echo $INSTALL | sed 's%.*/%%'`"
test "$ac_dir" = "$ac_prog" && ac_dir=.
test -d "$ac_dir" && ac_dir="`(cd \"$ac_dir\" && pwd)`"
INSTALL="$ac_dir/$ac_prog"
;;
esac
#
# On these hosts, we really want to use cc, not gcc, even if it is
# found. The gcc that these systems have will not correctly handle
# pthreads.
#
# However, if the user sets $CC to be something, let that override
# our change.
#
if test "X$CC" = "X" ; then
case "$host" in
*-dec-osf*)
CC="cc"
;;
*-sun-solaris*)
# Use Sun's cc if it is available, but watch
# out for /usr/ucb/cc; it will never be the right
# compiler to use.
#
# If setting CC here fails, the AC_PROG_CC done
# below might still find gcc.
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
case "$ac_dir" in
/usr/ucb)
# exclude
;;
*)
if test -f "$ac_dir/cc"; then
CC="$ac_dir/cc"
break
fi
;;
esac
done
IFS="$ac_save_ifs"
;;
*-hp-hpux*)
CC="cc"
;;
mips-sgi-irix*)
CC="cc"
;;
esac
fi
#
# NetBSD has two alternative pthreads implementations. Make the
# user choose one by saying --with-mit-pthreads or --with-ptl2
# if necessary.
#
case "$host" in
*-netbsd*)
CC="gcc"
AC_MSG_CHECKING(which thread library to use)
AC_ARG_WITH(mit-pthreads,
[ --with-mit-pthreads use the mit-pthreads thread library],
use_mit_pthreads="$withval", use_mit_pthreads="no")
AC_ARG_WITH(ptl2,
[ --with-ptl2 use the ptl2 thread library],
use_ptl2="$withval", use_ptl2="no")
: ${LOCALBASE:=/usr/pkg}
# If user did not choose a thread library explicitly,
# try to choose one automatically. This will work when
# exactly one library is installed.
case "$use_mit_pthreads+$use_ptl2" in
no+no)
if test -d $LOCALBASE/pthreads
then
use_mit_pthreads="yes"
fi
if test -d $LOCALBASE/PTL
then
use_ptl2="yes"
fi
;;
esac
case "$use_mit_pthreads+$use_ptl2" in
yes+no)
AC_MSG_RESULT(mit-pthreads)
pkg="$LOCALBASE/pthreads"
lib1="-L$pkg/lib -Wl,-R$pkg/lib"
lib2="-lpthread -lm -lgcc -lpthread"
LIBS="$lib1 $lib2 $LIBS"
CPPFLAGS="-I$pkg/include $CPPFLAGS"
STD_CINCLUDES="-I$pkg/include"
;;
no+yes)
AC_MSG_RESULT(PTL2)
# pkg="$LOCALBASE/PTL"
# LIBS="-L$LOCALBASE/lib -lPTL $LIBS"
# STD_CINCLUDES="-nostdinc -idirafter $pkg/include"
CC=ptlgcc
;;
*)
AC_MSG_ERROR([no thread library.
Please choose a thread library using one of
configure --with-mit-pthreads
configure --with-ptl2
])
;;
esac
;;
esac
AC_PROG_CC
AC_PROG_YACC
AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/sockio.h netinet6/in6.h)
#
# HAVE_NETINET6_IN6_H needs to go in platform.h.
#
case "$ac_cv_header_netinet6_in6_h" in
yes)
ISC_PLATFORM_HAVENETINET6IN6H="#define ISC_PLATFORM_HAVENETINET6IN6H 1"
LWRES_PLATFORM_HAVENETINET6IN6H="#define LWRES_PLATFORM_HAVENETINET6IN6H 1"
;;
no)
ISC_PLATFORM_HAVENETINET6IN6H="#undef ISC_PLATFORM_HAVENETINET6IN6H"
LWRES_PLATFORM_HAVENETINET6IN6H="#undef LWRES_PLATFORM_HAVENETINET6IN6H"
;;
esac
AC_SUBST(ISC_PLATFORM_HAVENETINET6IN6H)
AC_SUBST(LWRES_PLATFORM_HAVENETINET6IN6H)
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_CHECK_LIB(pthread, pthread_create,,
AC_CHECK_LIB(pthread, __pthread_create)
AC_CHECK_LIB(pthread, __pthread_create_system)
)
#
# 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 searching for sigwait.
#
case "$host" in
*-freebsd*)
AC_CHECK_LIB(c_r, sigwait, AC_DEFINE(HAVE_SIGWAIT),)
;;
esac
#
# Make sure we get the right sigwait() semantics...
#
case "$host" in
*-sun-solaris*)
AC_DEFINE(_POSIX_PTHREAD_SEMANTICS)
;;
esac
#
# NLS
#
AC_CHECK_FUNC(catgets, AC_DEFINE(HAVE_CATGETS),)
#
# BSDI 3.1 through 4.0.1 needs pthread_init() to be called before certain
# pthreads calls. LinuxThreads requires some changes to the way we deal with
# signals.
#
case "$host" in
*-bsdi3.1*|*-bsdi4.0*)
AC_DEFINE(NEED_PTHREAD_INIT)
;;
*-linux*)
AC_DEFINE(HAVE_LINUXTHREADS)
;;
esac
#
# -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"
if test "X$GCC" = "Xyes"; then
STD_CWARNINGS="$STD_CWARNINGS -W -Wall -Wmissing-prototypes"
case "$host" in
*-freebsd*)
CC="$CC -pthread"
STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
;;
*-openbsd*)
CC="$CC -pthread"
;;
*-sun-solaris*)
LIBS="$LIBS -lthread"
;;
esac
else
case "$host" in
*-dec-osf*)
CC="$CC -std -pthread"
MKDEPCC="$CC"
;;
*-sun-solaris*)
CC="$CC -mt"
MKDEPCC="$CC"
MKDEPCFLAGS="-xM"
;;
*-hp-hpux*)
CC="$CC -Ae -z +w1"
MKDEPPROG='cc -Ae -E -Wp,-M >/dev/null 2>>$TMP'
;;
esac
fi
AC_SUBST(MKDEPCC)
AC_SUBST(MKDEPCFLAGS)
AC_SUBST(MKDEPPROG)
#
# 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_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"],
[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],
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
case "$found_ipv6" in
yes)
ISC_PLATFORM_HAVEIPV6="#define ISC_PLATFORM_HAVEIPV6 1"
LWRES_PLATFORM_HAVEIPV6="#define LWRES_PLATFORM_HAVEIPV6 1"
;;
no)
ISC_PLATFORM_HAVEIPV6="#undef ISC_PLATFORM_HAVEIPV6"
LWRES_PLATFORM_HAVEIPV6="#undef LWRES_PLATFORM_HAVEIPV6"
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_IPV6_H)
AC_SUBST(ISC_IPV6_O)
AC_SUBST(ISC_ISCIPV6_O)
AC_SUBST(ISC_IPV6_C)
#
# IPv6 support provided via Kame
#
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
#
# 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_CHECK_FUNC(inet_ntop,
[ISC_PLATFORM_NEEDNTOP="#undef ISC_PLATFORM_NEEDNTOP"],
[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_CHECK_FUNC(inet_pton,
[ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"],
[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_CHECK_FUNC(inet_aton,
[ISC_PLATFORM_NEEDATON="#undef ISC_PLATFORM_NEEDATON"],
[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_CHECK_FUNC(strsep,
[ISC_PLATFORM_NEEDSTRSEP="#undef ISC_PLATFORM_NEEDSTRSEP"],
[ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS strsep.$O"
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS strsep.c"
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_NEEDNTOP)
AC_SUBST(ISC_PLATFORM_NEEDPTON)
AC_SUBST(ISC_PLATFORM_NEEDATON)
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)
#
# 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
AC_SUBST_FILE(BIND9_VERSION)
BIND9_VERSION=$srcdir/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/lwresd/Makefile
bin/rndc/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/sockaddr/Makefile
)