configure.in revision 3c7a239b15d288a7e5233fef93db1c01e2dc2318
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# Copyright (C) 1998-2003 Internet Software Consortium.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# Permission to use, copy, modify, and/or distribute this software for any
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# purpose with or without fee is hereby granted, provided that the above
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# copyright notice and this permission notice appear in all copies.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# PERFORMANCE OF THIS SOFTWARE.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_DIVERT_PUSH(1)dnl
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtonesyscmd([sed "s/^/# /" COPYRIGHT])dnl
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian WellingtonAC_DIVERT_POP()dnl
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_REVISION($Revision: 1.436 $)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_PREREQ(2.59)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_CONFIG_HEADER(config.h)
10ba7f6f563d68b8f1284847ccce85b706e793feBob HalleyAC_CONFIG_SUBDIRS(lib/bind)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_CANONICAL_HOST
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_PROG_MAKE_SET
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_PROG_RANLIB
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_PROG_INSTALL
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(STD_CINCLUDES)
d692d9991a731d60b63e6389da1ebf2b2839cfabBrian WellingtonAC_SUBST(STD_CDEFINES)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(STD_CWARNINGS)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(CCOPT)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# Make very sure that these are the first files processed by
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# config.status, since we use the processed output as the input for
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# AC_SUBST_FILE() subsitutions in other files.
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonAC_PATH_PROG(AR, ar)
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonARFLAGS="cruv"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(ARFLAGS)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# The POSIX ln(1) program. Non-POSIX systems may substitute
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# "copy" or something.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_ERROR([
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtonar program not found. Please fix your PATH to include the directory in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtonwhich ar resides, or set AR in the environment with the full path to ar.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_PATH_PROGS(ETAGS, etags emacs-etags)
3f6dc1703f76a24b34ed3bc839447291c33ca837Brian Wellington# Some systems, e.g. RH7, have the Exuberant Ctags etags instead of
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# GNU emacs etags, and it requires the -L flag.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtonif test "X$ETAGS" != "X"; then
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington AC_MSG_CHECKING(for Exuberant Ctags etags)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington if $ETAGS --version 2>&1 | grep 'Exuberant Ctags' >/dev/null 2>&1; then
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(yes)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington ETAGS="$ETAGS -L"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(no)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(ETAGS)
d92543b36036157e06025c7f44cf870c7e363a23Brian Wellington# Perl is optional; it is used only by some of the system test scripts.
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonAC_PATH_PROGS(PERL, perl5 perl)
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonAC_SUBST(PERL)
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington# Special processing of paths depending on whether --prefix,
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# --sysconfdir or --localstatedir arguments were given. What's
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# desired is some compatibility with the way previous versions
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# of BIND built; they defaulted to /usr/local for most parts of
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# the installation, but named.boot/named.conf was in /etc
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# So ... if none of --prefix, --sysconfdir or --localstatedir are
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# specified, set things up that way. If --prefix is given, use
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# it for sysconfdir and localstatedir the way configure normally
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# would. To change the prefix for everything but leave named.conf
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# in /etc or named.pid in /var/run, then do this the usual configure way:
d2524f38d22998efb4196410643280b14f8b6febBob Halley# ./configure --prefix=/somewhere --sysconfdir=/etc
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# ./configure --prefix=/somewhere --localstatedir=/var
d598338952797df77417e69fcb8782b73651f9a9Brian Wellington# To put named.conf and named.pid in /usr/local with everything else,
d598338952797df77417e69fcb8782b73651f9a9Brian Wellington# set the prefix explicitly to /usr/local even though that's the default:
d598338952797df77417e69fcb8782b73651f9a9Brian Wellington# ./configure --prefix=/usr/local
d598338952797df77417e69fcb8782b73651f9a9Brian Wellingtoncase "$prefix" in
d598338952797df77417e69fcb8782b73651f9a9Brian Wellington case "$sysconfdir" in
d598338952797df77417e69fcb8782b73651f9a9Brian Wellington '${prefix}/etc')
d598338952797df77417e69fcb8782b73651f9a9Brian Wellington sysconfdir=/etc
d598338952797df77417e69fcb8782b73651f9a9Brian Wellington case "$localstatedir" in
4a2f65ad8a26261e758d9682d88eb29395422fb9Brian Wellington '${prefix}/var')
4a2f65ad8a26261e758d9682d88eb29395422fb9Brian Wellington localstatedir=/var
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# Make sure INSTALL uses an absolute path, else it will be wrong in all
0a595c94a4137c3d56d529b86f5b8661513b16c3Brian Wellington# Makefiles, since they use make/rules.in and INSTALL will be adjusted by
0a595c94a4137c3d56d529b86f5b8661513b16c3Brian Wellington# configure based on the location of the file where it is substituted.
0a595c94a4137c3d56d529b86f5b8661513b16c3Brian Wellington# Since in BIND9 INSTALL is only substituted into make/rules.in, an immediate
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# subdirectory of install-sh, This relative path will be wrong for all
1a2c699f0eb89fbd776a2dfabb6e197fe36a8c20Brian Wellington# directories more than one level down from install-sh.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtoncase "$INSTALL" in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # Not all systems have dirname.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington changequote({, })
183d6e8b51170e57e7268120d475927fffcf08a5Brian Wellington ac_dir="`echo $INSTALL | sed 's%/[^/]*$%%'`"
183d6e8b51170e57e7268120d475927fffcf08a5Brian Wellington changequote([, ])
1a2c699f0eb89fbd776a2dfabb6e197fe36a8c20Brian Wellington ac_prog="`echo $INSTALL | sed 's%.*/%%'`"
1a2c699f0eb89fbd776a2dfabb6e197fe36a8c20Brian Wellington test "$ac_dir" = "$ac_prog" && ac_dir=.
1a2c699f0eb89fbd776a2dfabb6e197fe36a8c20Brian Wellington test -d "$ac_dir" && ac_dir="`(cd \"$ac_dir\" && pwd)`"
1a2c699f0eb89fbd776a2dfabb6e197fe36a8c20Brian Wellington INSTALL="$ac_dir/$ac_prog"
1a2c699f0eb89fbd776a2dfabb6e197fe36a8c20Brian Wellington# On these hosts, we really want to use cc, not gcc, even if it is
1a2c699f0eb89fbd776a2dfabb6e197fe36a8c20Brian Wellington# found. The gcc that these systems have will not correctly handle
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# However, if the user sets $CC to be something, let that override
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtonif test "X$CC" = "X" ; then
949d406b57fe80fabc6a60d36a0dcee927c780b3Brian Wellington case "$host" in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # Use Sun's cc if it is available, but watch
15660bccc162db0a7df281f5d743757c527580d5Brian Wellington # out for /usr/ucb/cc; it will never be the right
15660bccc162db0a7df281f5d743757c527580d5Brian Wellington # compiler to use.
15660bccc162db0a7df281f5d743757c527580d5Brian Wellington # If setting CC here fails, the AC_PROG_CC done
15660bccc162db0a7df281f5d743757c527580d5Brian Wellington # below might still find gcc.
15660bccc162db0a7df281f5d743757c527580d5Brian Wellington IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
15660bccc162db0a7df281f5d743757c527580d5Brian Wellington for ac_dir in $PATH; do
15660bccc162db0a7df281f5d743757c527580d5Brian Wellington test -z "$ac_dir" && ac_dir=.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington case "$ac_dir" in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington if test -f "$ac_dir/cc"; then
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington IFS="$ac_save_ifs"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington mips-sgi-irix*)
949d406b57fe80fabc6a60d36a0dcee927c780b3Brian Wellington# gcc's optimiser is broken at -02 for ultrasparc
15660bccc162db0a7df281f5d743757c527580d5Brian Wellingtonif test "$ac_env_CFLAGS_set" != set -a "X$GCC" = "Xyes"; then
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington case "$host" in
183d6e8b51170e57e7268120d475927fffcf08a5Brian Wellington CCFLAGS="-g -O1"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# OS dependent CC flags
d598338952797df77417e69fcb8782b73651f9a9Brian Wellingtoncase "$host" in
d598338952797df77417e69fcb8782b73651f9a9Brian Wellington # OSF 5.0: recv/send are only avaliable with -D_POSIX_PII_SOCKET or
d598338952797df77417e69fcb8782b73651f9a9Brian Wellington # -D_XOPEN_SOURCE_EXTENDED.
3f6dc1703f76a24b34ed3bc839447291c33ca837Brian Wellington STD_CDEFINES="$STD_CDEFINES -D_POSIX_PII_SOCKET"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington CPPFLAGS="$CPPFLAGS -D_POSIX_PII_SOCKET"
949d406b57fe80fabc6a60d36a0dcee927c780b3Brian Wellington #HP-UX: need -D_XOPEN_SOURCE_EXTENDED and -lxnet for CMSG macros
949d406b57fe80fabc6a60d36a0dcee927c780b3Brian Wellington STD_CDEFINES="$STD_CDEFINES -D_XOPEN_SOURCE_EXTENDED"
15660bccc162db0a7df281f5d743757c527580d5Brian Wellington CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
949d406b57fe80fabc6a60d36a0dcee927c780b3Brian Wellington LIBS="-lxnet $LIBS"
949d406b57fe80fabc6a60d36a0dcee927c780b3Brian Wellington # Solaris: need -D_XPG4_2 and -D__EXTENSIONS__ for CMSG macros
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington STD_CDEFINES="$STD_CDEFINES -D_XPG4_2 -D__EXTENSIONS__"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington CPPFLAGS="$CPPFLAGS -D_XPG4_2 -D__EXTENSIONS__"
3b2b306f47867d0037fb851623fb5a5736d64348Michael GraffAC_HEADER_STDC
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/sockio.h sys/select.h sys/param.h sys/sysctl.h net/if6.h,,,
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington[$ac_includes_default
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington#ifdef HAVE_SYS_PARAM_H
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_CHECK_FUNC(sysctlbyname, AC_DEFINE(HAVE_SYSCTLBYNAME))
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian Wellington# UnixWare 7.1.1 with the feature supplement to the UDK compiler
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian Wellington# is reported to not support "static inline" (RT #1212).
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian WellingtonAC_MSG_CHECKING(for static inline breakage)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_TRY_COMPILE(, [
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington static inline int foo1() {
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington static inline int foo2() {
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington return foo1();
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(no)],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(yes)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_DEFINE(inline, )])
452123247dcc4c6d30ea3f33f5174df62d84e9aeBrian WellingtonAC_TYPE_SIZE_T
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_CHECK_TYPE(ssize_t, int)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_CHECK_TYPE(uintptr_t,unsigned long)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_CHECK_TYPE(socklen_t,
d692d9991a731d60b63e6389da1ebf2b2839cfabBrian Wellington[AC_DEFINE(ISC_SOCKADDR_LEN_T, socklen_t)],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_TRY_COMPILE(
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtonint getsockname(int, struct sockaddr *, size_t *);
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington[AC_DEFINE(ISC_SOCKADDR_LEN_T, size_t)],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington[AC_DEFINE(ISC_SOCKADDR_LEN_T, int)])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(ISC_SOCKADDR_LEN_T)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_HEADER_TIME
3f6dc1703f76a24b34ed3bc839447291c33ca837Brian WellingtonAC_MSG_CHECKING(for long long)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_TRY_COMPILE([],[long long i = 0; return (0);],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(yes)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington ISC_PLATFORM_HAVELONGLONG="#define ISC_PLATFORM_HAVELONGLONG 1"],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(no)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington ISC_PLATFORM_HAVELONGLONG="#undef ISC_PLATFORM_HAVELONGLONG"])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(ISC_PLATFORM_HAVELONGLONG)
4dc6a937d699f76782c17d58305f6d6cfaa8b55dBrian Wellington# check if we have lifconf
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_MSG_CHECKING(for struct lifconf)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_TRY_COMPILE([
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtonstruct lifconf lifconf;
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(yes)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington ISC_PLATFORM_HAVELIFCONF="#define ISC_PLATFORM_HAVELIFCONF 1"],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(no)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington ISC_PLATFORM_HAVELIFCONF="#undef ISC_PLATFORM_HAVELIFCONF"])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(ISC_PLATFORM_HAVELIFCONF)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# check if we need to #include sys/select.h explicitly
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtoncase $ac_cv_header_unistd_h in
83e4218f6c6497eeaec7fb422b5f662cd98b2ba6David LawrenceAC_MSG_CHECKING(if unistd.h or sys/types.h defines fd_set)
83e4218f6c6497eeaec7fb422b5f662cd98b2ba6David LawrenceAC_TRY_COMPILE([
83e4218f6c6497eeaec7fb422b5f662cd98b2ba6David Lawrence#include <sys/types.h> /* Ultrix */
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington[fd_set read_set; return (0);],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(yes)
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington ISC_PLATFORM_NEEDSYSSELECTH="#undef ISC_PLATFORM_NEEDSYSSELECTH"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington LWRES_PLATFORM_NEEDSYSSELECTH="#undef LWRES_PLATFORM_NEEDSYSSELECTH"],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(no)
d5334bc18380d25e8a7ee804f68f22dc746b9c20Brian Wellington case $ac_cv_header_sys_select_h in
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington LWRES_PLATFORM_NEEDSYSSELECTH="#define LWRES_PLATFORM_NEEDSYSSELECTH 1"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_ERROR([need either working unistd.h or sys/select.h])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington case $ac_cv_header_sys_select_h in
4dc6a937d699f76782c17d58305f6d6cfaa8b55dBrian Wellington ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington LWRES_PLATFORM_NEEDSYSSELECTH="#define LWRES_PLATFORM_NEEDSYSSELECTH 1"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_MSG_ERROR([need either unistd.h or sys/select.h])
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonAC_SUBST(ISC_PLATFORM_NEEDSYSSELECTH)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonAC_SUBST(LWRES_PLATFORM_NEEDSYSSELECTH)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington# Find the machine's endian flavor.
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonAC_C_BIGENDIAN
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington# was --with-openssl specified?
452123247dcc4c6d30ea3f33f5174df62d84e9aeBrian WellingtonOPENSSL_WARNING=
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonAC_MSG_CHECKING(for OpenSSL library)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonAC_ARG_WITH(openssl,
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington[ --with-openssl[=PATH] Build with OpenSSL [yes|no|path].
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington (Required for DNSSEC)],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington use_openssl="$withval", use_openssl="auto")
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellingtonopenssldirs="/usr /usr/local /usr/local/ssl /usr/pkg /usr/sfw"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtonif test "$use_openssl" = "auto"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington for d in $openssldirs
83e4218f6c6497eeaec7fb422b5f662cd98b2ba6David Lawrence use_openssl=$d
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtoncase "$use_openssl" in
83e4218f6c6497eeaec7fb422b5f662cd98b2ba6David Lawrence AC_MSG_RESULT(no)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington DST_OPENSSL_INC=""
83e4218f6c6497eeaec7fb422b5f662cd98b2ba6David Lawrence USE_OPENSSL=""
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington DST_OPENSSL_INC=""
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington USE_OPENSSL=""
4dc6a937d699f76782c17d58305f6d6cfaa8b55dBrian Wellington AC_MSG_RESULT(not found)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington if test "$use_openssl" = "yes"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # User did not specify a path - guess it
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington for d in $openssldirs
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington use_openssl=$d
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington if test "$use_openssl" = "yes"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_MSG_RESULT(not found)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_MSG_ERROR(
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington[OpenSSL was not found in any of $openssldirs; use --with-openssl=/path])
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington USE_OPENSSL='-DOPENSSL'
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington if test "$use_openssl" = "/usr"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington DST_OPENSSL_INC=""
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington DNS_OPENSSL_LIBS="-lcrypto"
d5334bc18380d25e8a7ee804f68f22dc746b9c20Brian Wellington DST_OPENSSL_INC="-I$use_openssl/include"
d5334bc18380d25e8a7ee804f68f22dc746b9c20Brian Wellington case $host in
d5334bc18380d25e8a7ee804f68f22dc746b9c20Brian Wellington DNS_OPENSSL_LIBS="-L$use_openssl/lib -R$use_openssl/lib -lcrypto"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington DNS_OPENSSL_LIBS="-L$use_openssl/lib -Wl,+b: -lcrypto"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington *-apple-darwin*)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # Apple's ld seaches for serially for dynamic
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # then static libraries. This means you can't
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # use -L to override dynamic system libraries
4dc6a937d699f76782c17d58305f6d6cfaa8b55dBrian Wellington # with static ones when linking. Instead
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # we specify a absolute path.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington if test -f "$use_openssl/lib/libcrypto.dylib"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington DNS_OPENSSL_LIBS="-L$use_openssl/lib -lcrypto"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington DNS_OPENSSL_LIBS="$use_openssl/lib/libcrypto.a"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington DNS_OPENSSL_LIBS="-L$use_openssl/lib -lcrypto"
c3a4d8072ccd3b33aa3fc84cdeadd1a6fac87e08Michael Graff AC_MSG_RESULT(using OpenSSL from $use_openssl/lib and $use_openssl/include)
2c12fc4d63f1d5f9d55fc0ecb198d582da6fd7d3Brian Wellington saved_cflags="$CFLAGS"
c3a4d8072ccd3b33aa3fc84cdeadd1a6fac87e08Michael Graff saved_libs="$LIBS"
c3a4d8072ccd3b33aa3fc84cdeadd1a6fac87e08Michael Graff CFLAGS="$CFLAGS $DST_OPENSSL_INC"
0dc4e6a6aef01175b8cdd71cb757f09ba1e69c49Brian Wellington LIBS="$LIBS $DNS_OPENSSL_LIBS"
2c12fc4d63f1d5f9d55fc0ecb198d582da6fd7d3Brian Wellington AC_MSG_CHECKING(whether linking with OpenSSL works)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington ERR_clear_error();
2c12fc4d63f1d5f9d55fc0ecb198d582da6fd7d3Brian Wellington [AC_MSG_RESULT(yes)],
2c12fc4d63f1d5f9d55fc0ecb198d582da6fd7d3Brian Wellington [AC_MSG_RESULT(no)
2c12fc4d63f1d5f9d55fc0ecb198d582da6fd7d3Brian Wellington AC_MSG_ERROR(Could not run test program using OpenSSL from
2c12fc4d63f1d5f9d55fc0ecb198d582da6fd7d3Brian WellingtonPlease check the argument to --with-openssl and your
2c12fc4d63f1d5f9d55fc0ecb198d582da6fd7d3Brian Wellingtonshared library configuration (e.g., LD_LIBRARY_PATH).)],
2c12fc4d63f1d5f9d55fc0ecb198d582da6fd7d3Brian Wellington [AC_MSG_RESULT(assuming it does work on target platform)])
2c12fc4d63f1d5f9d55fc0ecb198d582da6fd7d3Brian Wellington AC_MSG_CHECKING(whether linking with OpenSSL requires -ldl)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_TRY_LINK([
2c12fc4d63f1d5f9d55fc0ecb198d582da6fd7d3Brian Wellington[ DSO_METHOD_dlfcn(); ],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(no)],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [LIBS="$LIBS -ldl"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_TRY_LINK([
2c12fc4d63f1d5f9d55fc0ecb198d582da6fd7d3Brian Wellington],[ DSO_METHOD_dlfcn(); ],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(yes)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington DNS_OPENSSL_LIBS="$DNS_OPENSSL_LIBS -ldl"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(unknown)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_ERROR(OpenSSL has unsupported dynamic loading)],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(assuming it does work on target platform)])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(assuming it does work on target platform)]
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_ARG_ENABLE(openssl-version-check,
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington[AC_HELP_STRING([--enable-openssl-version-check],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [Check OpenSSL Version @<:@default=yes@:>@])])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtoncase "$enable_openssl_version_check" in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_CHECKING(OpenSSL library version)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington if ((OPENSSL_VERSION_NUMBER >= 0x009070cfL &&
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington OPENSSL_VERSION_NUMBER < 0x00908000L) ||
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington OPENSSL_VERSION_NUMBER >= 0x0090804fL)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington printf("\n\nFound OPENSSL_VERSION_NUMBER %#010x\n",
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington OPENSSL_VERSION_NUMBER);
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington printf("Require OPENSSL_VERSION_NUMBER 0x009070cf or greater (0.9.7l)\n"
452123247dcc4c6d30ea3f33f5174df62d84e9aeBrian Wellington "Require OPENSSL_VERSION_NUMBER 0x0090804f or greater (0.9.8d)\n\n");
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(ok)],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(not compatible)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington OPENSSL_WARNING=yes
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [AC_MSG_RESULT(assuming target platform has compatible version)])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(Skipped OpenSSL version check)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_CHECKING(for OpenSSL DSA support)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington if test -f $use_openssl/include/openssl/dsa.h
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_DEFINE(HAVE_OPENSSL_DSA)
3f6dc1703f76a24b34ed3bc839447291c33ca837Brian Wellington AC_MSG_RESULT(yes)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(no)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington CFLAGS="$saved_cflags"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington LIBS="$saved_libs"
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian Wellington# This would include the system openssl path (and linker options to use
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian Wellington# it as needed) if it is found.
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian WellingtonAC_SUBST(USE_OPENSSL)
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian WellingtonAC_SUBST(DST_OPENSSL_INC)
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian WellingtonDNS_CRYPTO_LIBS="$DNS_CRYPTO_LIBS $DNS_OPENSSL_LIBS"
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian WellingtonAC_MSG_CHECKING(for GSSAPI library)
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian WellingtonAC_ARG_WITH(gssapi,
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian Wellington[ --with-gssapi=PATH Specify path for system-supplied GSSAPI],
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian Wellington use_gssapi="$withval", use_gssapi="no")
05b6b2e6802d503a9e131415b4720f35ab9f08d1Brian Wellingtongssapidirs="/usr/local /usr/pkg /usr/kerberos /usr"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtonif test "$use_gssapi" = "yes"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington for d in $gssapidirs
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington if test -f $d/include/gssapi/gssapi.h -o -f $d/include/gssapi.h
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington use_gssapi=$d
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtoncase "$use_gssapi" in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(disabled)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington USE_GSSAPI=''
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_ERROR([--with-gssapi must specify a path])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(looking in $use_gssapi/lib)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington USE_GSSAPI='-DGSSAPI'
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington saved_cppflags="$CPPFLAGS"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington CPPFLAGS="-I$use_gssapi/include $CPPFLAGS"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [ISC_PLATFORM_GSSAPIHEADER="#define ISC_PLATFORM_GSSAPIHEADER <$ac_header>"])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington if test "$ISC_PLATFORM_GSSAPIHEADER" = ""; then
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_ERROR([gssapi.h not found])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington CPPFLAGS="$saved_cppflags"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # XXXDCL This probably doesn't work right on all systems.
3f6dc1703f76a24b34ed3bc839447291c33ca837Brian Wellington # It will need to be worked on as problems become evident.
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # Essentially the problems here relate to two different
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # areas. The first area is building with either KTH
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # or MIT Kerberos, particularly when both are present on
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # the machine. The other is static versus dynamic linking.
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # On the KTH vs MIT issue, Both have libkrb5 that can mess
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # up the works if one implementation ends up trying to
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # use the other's krb. This is unfortunately a situation
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # that very easily arises.
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # Dynamic linking when the dependency information is built
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # into MIT's libgssapi_krb5 or KTH's libgssapi magically makes
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # all such problems go away, but when that setup is not
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # present, because either the dynamic libraries lack
0f0162e6297ddf5e4abe848d27f3bcdb373189daBrian Wellington # dependencies or static linking is being done, then the
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # problems start to show up.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington saved_libs="$LIBS"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington for TRY_LIBS in \
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington "-lgssapi_krb5" \
d692d9991a731d60b63e6389da1ebf2b2839cfabBrian Wellington "-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err" \
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington "-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv" \
d692d9991a731d60b63e6389da1ebf2b2839cfabBrian Wellington "-lgssapi -lkrb5 -ldes -lcrypt -lasn1 -lroken -lcom_err" \
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington "-lgssapi -lkrb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # Note that this does not include $saved_libs, because
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # on FreeBSD machines this configure script has added
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # -L/usr/local/lib to LIBS, which can make the
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # -lgssapi_krb5 test succeed with shared libraries even
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # when you are trying to build with KTH in /usr/lib.
4dc6a937d699f76782c17d58305f6d6cfaa8b55dBrian Wellington LIBS="-L$use_gssapi/lib $TRY_LIBS"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_CHECKING(linking as $TRY_LIBS)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_TRY_LINK( , [gss_acquire_cred();],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington gssapi_linked=yes, gssapi_linked=no)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington case $gssapi_linked in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington yes) AC_MSG_RESULT(yes); break ;;
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington no) AC_MSG_RESULT(no) ;;
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington case $gssapi_linked in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington no) AC_MSG_ERROR(could not determine proper GSSAPI linkage) ;;
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # XXXDCL Major kludge. Tries to cope with KTH in /usr/lib
4dc6a937d699f76782c17d58305f6d6cfaa8b55dBrian Wellington # but MIT in /usr/local/lib and trying to build with KTH.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # /usr/local/lib can end up earlier on the link lines.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # Like most kludges, this one is not only inelegant it
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # is also likely to be the wrong thing to do at least as
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # many times as it is the right thing. Something better
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington # needs to be done.
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington if test "$use_gssapi" = "/usr" -a \
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington FIX_KTH_VS_MIT=yes
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington case "$FIX_KTH_VS_MIT" in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington case "$enable_static_linking" in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington yes) gssapi_lib_suffix=".a" ;;
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington *) gssapi_lib_suffix=".so" ;;
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington for lib in $LIBS; do
4dc6a937d699f76782c17d58305f6d6cfaa8b55dBrian Wellington new_lib=`echo $lib |
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington -e s%$%$gssapi_lib_suffix%`
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington NEW_LIBS="$NEW_LIBS $new_lib"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_ERROR([KTH vs MIT Kerberos confusion!])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington LIBS="$NEW_LIBS"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington DST_GSSAPI_INC="-I$use_gssapi/include"
4dc6a937d699f76782c17d58305f6d6cfaa8b55dBrian Wellington DNS_GSSAPI_LIBS="$LIBS"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(using GSSAPI from $use_gssapi/lib and $use_gssapi/include)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington LIBS="$saved_libs"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(ISC_PLATFORM_HAVEGSSAPI)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(ISC_PLATFORM_GSSAPIHEADER)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(USE_GSSAPI)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(DST_GSSAPI_INC)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(DNS_GSSAPI_LIBS)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonDNS_CRYPTO_LIBS="$DNS_GSSAPI_LIBS $DNS_CRYPTO_LIBS"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# Applications linking with libdns also need to link with these libraries.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(DNS_CRYPTO_LIBS)
83e4218f6c6497eeaec7fb422b5f662cd98b2ba6David Lawrence# was --with-randomdev specified?
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_MSG_CHECKING(for random device)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_ARG_WITH(randomdev,
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington[ --with-randomdev=PATH Specify path for random device],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington use_randomdev="$withval", use_randomdev="unspec")
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtoncase "$use_randomdev" in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington case "$host" in
4dc6a937d699f76782c17d58305f6d6cfaa8b55dBrian Wellington AC_MSG_RESULT($devrandom)
1fd4766e5b732c04c06ef44c0338b3b6bdbf2457Brian Wellington AC_CHECK_FILE($devrandom,
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_DEFINE_UNQUOTED(PATH_RANDOMDEV,
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington "$devrandom"),)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_ERROR([--with-randomdev must specify a path])
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(disabled)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_DEFINE_UNQUOTED(PATH_RANDOMDEV, "$use_randomdev")
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(using "$use_randomdev")
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# Do we have arc4random() ?
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_CHECK_FUNC(arc4random, AC_DEFINE(HAVE_ARC4RANDOM))
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtonif $use_threads
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington if test "X$GCC" = "Xyes"; then
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington case "$host" in
3f6dc1703f76a24b34ed3bc839447291c33ca837Brian Wellington CC="$CC -pthread"
3f6dc1703f76a24b34ed3bc839447291c33ca837Brian Wellington CCOPT="$CCOPT -pthread"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington CC="$CC -pthread"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington CCOPT="$CCOPT -pthread"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington LIBS="$LIBS -lthread"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington case $host in
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington CC="$CC -pthread"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington CCOPT="$CCOPT -pthread"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington CCOPT="$CCOPT -mt"
ac335315cddc0a42b9235001197dcf719ae737b6Brian Wellington STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington *-sco-sysv*uw*|*-*-sysv*UnixWare*)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington CC="$CC -Kthread"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington CCOPT="$CCOPT -Kthread"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington *-*-sysv*OpenUNIX*)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington CC="$CC -Kpthread"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington CCOPT="$CCOPT -Kpthread"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington ALWAYS_DEFINES="-D_REENTRANT"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington ISC_PLATFORM_USETHREADS="#define ISC_PLATFORM_USETHREADS 1"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington thread_dir=pthreads
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # We'd like to use sigwait() too
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_CHECK_FUNC(sigwait,
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(HAVE_SIGWAIT),
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_CHECK_LIB(c, sigwait,
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(HAVE_SIGWAIT),
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_CHECK_LIB(pthread, sigwait,
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(HAVE_SIGWAIT),
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_CHECK_LIB(pthread, _Psigwait,
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(HAVE_SIGWAIT),))))
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_CHECK_FUNC(pthread_attr_getstacksize,
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(HAVE_PTHREAD_ATTR_GETSTACKSIZE),)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_CHECK_FUNC(pthread_attr_setstacksize,
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE),)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # Additional OS-specific issues related to pthreads and sigwait.
452123247dcc4c6d30ea3f33f5174df62d84e9aeBrian Wellington case "$host" in
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # One more place to look for sigwait.
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_CHECK_LIB(c_r, sigwait, AC_DEFINE(HAVE_SIGWAIT),)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington case $host in
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington *-freebsd5.[[012]]|*-freebsd5.[[012]].*);;
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington *-freebsd5.[[3456789]]|*-freebsd5.[[3456789]].*)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(NEED_PTHREAD_SCOPE_SYSTEM)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington *-freebsd6.*)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(NEED_PTHREAD_SCOPE_SYSTEM)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # BSDI 3.0 through 4.0.1 needs pthread_init() to be
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # called before certain pthreads calls. This is deprecated
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington *-bsdi3.*|*-bsdi4.0*)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(NEED_PTHREAD_INIT)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # LinuxThreads requires some changes to the way we
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # deal with signals.
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(HAVE_LINUXTHREADS)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # Ensure the right sigwait() semantics on Solaris and make
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # sure we call pthread_setconcurrency.
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(_POSIX_PTHREAD_SEMANTICS)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_CHECK_FUNC(pthread_setconcurrency,
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(CALL_PTHREAD_SETCONCURRENCY))
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # UnixWare does things its own way.
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(HAVE_UNIXWARE_SIGWAIT)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington # Look for sysconf to allow detection of the number of processors.
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_CHECK_FUNC(sysconf, AC_DEFINE(HAVE_SYSCONF),)
ac335315cddc0a42b9235001197dcf719ae737b6Brian Wellington ISC_PLATFORM_USETHREADS="#undef ISC_PLATFORM_USETHREADS"
ac335315cddc0a42b9235001197dcf719ae737b6Brian Wellington thread_dir=nothreads
ac335315cddc0a42b9235001197dcf719ae737b6Brian Wellington ALWAYS_DEFINES=""
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonAC_SUBST(ALWAYS_DEFINES)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonAC_SUBST(ISC_PLATFORM_USETHREADS)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonISC_THREAD_DIR=$thread_dir
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonAC_SUBST(ISC_THREAD_DIR)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington# was --with-libxml2 specified?
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonAC_MSG_CHECKING(for libxml2 library)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonAC_ARG_WITH(libxml2,
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington[ --with-libxml2[=PATH] Build with libxml2 library [yes|no|path]],
d598338952797df77417e69fcb8782b73651f9a9Brian Wellington use_libxml2="$withval", use_libxml2="auto")
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellingtoncase "$use_libxml2" in
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington DST_LIBXML2_INC=""
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington case X`(xml2-config --version) 2>/dev/null` in
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington libxml2_libs=`xml2-config --libs`
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington libxml2_cflags=`xml2-config --cflags`
83e4218f6c6497eeaec7fb422b5f662cd98b2ba6David Lawrence libxml2_libs=
83e4218f6c6497eeaec7fb422b5f662cd98b2ba6David Lawrence libxml2_cflags=
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington if test -f "$use_libxml2/bin/xml2-config" ; then
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington libxml2_libs=`$use_libxml2/bin/xml2-config --libs`
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington libxml2_cflags=`$use_libxml2/bin/xml2-config --cflags`
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellingtonif test "X$libxml2_libs" != "X"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_MSG_RESULT(yes)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington CFLAGS="$CFLAGS $libxml2_cflags"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington LIBS="$LIBS $libxml2_libs"
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_DEFINE(HAVE_LIBXML2, 1, [Define if libxml2 was found])
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington AC_MSG_RESULT(no)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington# In solaris 10, SMF can manage named service
c7f13217d11f26739a79f0dab391ec372b49b96bBrian WellingtonAC_CHECK_LIB(scf, smf_enable_instance)
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington# flockfile is usually provided by pthreads, but we may want to use it
c7f13217d11f26739a79f0dab391ec372b49b96bBrian Wellington# even if compiled with --disable-threads. getc_unlocked might also not
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_CHECK_FUNC(flockfile, AC_DEFINE(HAVE_FLOCKFILE),)
3f6dc1703f76a24b34ed3bc839447291c33ca837Brian WellingtonAC_CHECK_FUNC(getc_unlocked, AC_DEFINE(HAVE_GETCUNLOCKED),)
3f6dc1703f76a24b34ed3bc839447291c33ca837Brian Wellington# Indicate what the final decision was regarding threads.
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_MSG_CHECKING(whether to build with threads)
949d406b57fe80fabc6a60d36a0dcee927c780b3Brian Wellingtonif $use_threads; then
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(yes)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(no)
1a2c699f0eb89fbd776a2dfabb6e197fe36a8c20Brian Wellington# End of pthreads stuff.
15660bccc162db0a7df281f5d743757c527580d5Brian WellingtonAC_ARG_ENABLE(largefile, [ --enable-largefile 64-bit file support],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington want_largefile="yes", want_largefile="no")
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtoncase $want_largefile in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington ALWAYS_DEFINES="$ALWAYS_DEFINES -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington# Additional compiler settings.
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonMKDEPCFLAGS="-M"
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonIRIX_DNSSEC_WARNINGS_HACK=""
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellingtonif test "X$GCC" = "Xyes"; then
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington AC_MSG_CHECKING(if "$CC" supports -fno-strict-aliasing)
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington SAVE_CFLAGS=$CFLAGS
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington CFLAGS=-fno-strict-aliasing
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington AC_TRY_COMPILE(,, [FNOSTRICTALIASING=yes],[FNOSTRICTALIASING=no])
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington CFLAGS=$SAVE_CFLAGS
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington if test "$FNOSTRICTALIASING" = "yes"; then
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington AC_MSG_RESULT(yes)
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington STD_CWARNINGS="$STD_CWARNINGS -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington AC_MSG_RESULT(no)
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington STD_CWARNINGS="$STD_CWARNINGS -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington case "$host" in
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington LDFLAGS="-Wl,+vnocompatwarnings $LDFLAGS"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington case $host in
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington CC="$CC -std"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington CCOPT="$CCOPT -std"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington MKDEPCC="$CC"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington CC="$CC -Ae -z"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington # The version of the C compiler that constantly warns about
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington # 'const' as well as alignment issues is unfortunately not
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington # able to be discerned via the version of the operating
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington # system, nor does cc have a version flag.
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington case "`$CC +W 123 2>&1`" in
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington *Unknown?option*)
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington STD_CWARNINGS="+w1"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington # Turn off the pointlessly noisy warnings.
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington STD_CWARNINGS="+w1 +W 474,530,2193,2236"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington CCOPT="$CCOPT -Ae -z"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington LDFLAGS="-Wl,+vnocompatwarnings $LDFLAGS"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington MKDEPPROG='cc -Ae -E -Wp,-M >/dev/null 2>>$TMP'
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington STD_CWARNINGS="-fullwarn -woff 1209"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington # Silence more than 250 instances of
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington # "prototyped function redeclared without prototype"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington # and 11 instances of
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington # "variable ... was set but never used"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington IRIX_DNSSEC_WARNINGS_HACK="-woff 1692,1552"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington MKDEPCFLAGS="-xM"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonAC_SUBST(MKDEPCC)
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonAC_SUBST(MKDEPCFLAGS)
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonAC_SUBST(MKDEPPROG)
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonAC_SUBST(IRIX_DNSSEC_WARNINGS_HACK)
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonAC_CHECK_FUNC(catgets, AC_DEFINE(HAVE_CATGETS),)
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington# -lxnet buys us one big porting headache... standards, gotta love 'em.
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington# AC_CHECK_LIB(xnet, socket, ,
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington# AC_CHECK_LIB(socket, socket)
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington# AC_CHECK_LIB(nsl, inet_ntoa)
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington# Use this for now, instead:
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellingtoncase "$host" in
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington mips-sgi-irix*)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_CHECK_LIB(socket, socket)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_CHECK_LIB(nsl, inet_ntoa)
ffdcf33647eb0345dfe84be2c0e7b28264377436Brian Wellington# Purify support
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_MSG_CHECKING(whether to use purify)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_ARG_WITH(purify,
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [ --with-purify[=PATH] use Rational purify],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington use_purify="$withval", use_purify="no")
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtoncase "$use_purify" in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_PATH_PROG(purify_path, purify, purify)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington purify_path="$use_purify"
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtoncase "$use_purify" in
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT(no)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington if test -f $purify_path || test $purify_path = purify; then
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington AC_MSG_RESULT($purify_path)
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington PURIFYFLAGS="`echo $PURIFYOPTIONS`"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington PURIFY="$purify_path $PURIFYFLAGS"
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington AC_MSG_ERROR([$purify_path not found.
ffdcf33647eb0345dfe84be2c0e7b28264377436Brian WellingtonPlease choose the proper path with the following command:
ffdcf33647eb0345dfe84be2c0e7b28264377436Brian Wellington configure --with-purify=PATH
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian WellingtonAC_SUBST(PURIFY)
e552b980379e3a7ffce1411a939c62e27f953133Brian Wellington# GNU libtool support
e552b980379e3a7ffce1411a939c62e27f953133Brian WellingtonAC_ARG_WITH(libtool,
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington [ --with-libtool use GNU libtool (following indented options supported)],
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington use_libtool="$withval", use_libtool="no")
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellingtoncase $use_libtool in
3f6dc1703f76a24b34ed3bc839447291c33ca837Brian Wellington AM_PROG_LIBTOOL
3f6dc1703f76a24b34ed3bc839447291c33ca837Brian Wellington LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington LIBTOOL_MODE_COMPILE='--mode=compile'
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington LIBTOOL_MODE_INSTALL='--mode=install'
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington LIBTOOL_MODE_LINK='--mode=link'
6d4886fa7430889a96dbf9b88a2a4eb6f9d04674Brian Wellington case "$host" in
*-ibm-aix*) LIBTOOL_IN_MAIN="-Wl,-bI:T_testlist.imp" ;;
LIBBIND=lib/bind
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>],
[ --with-kame[=PATH] use Kame IPv6 [default path /usr/local/v6]],
kame_path=/usr/local/v6
if test -f $kame_path/lib/libinet6.a; then
AC_MSG_RESULT($kame_path/lib/libinet6.a)
LIBS="-L$kame_path/lib -linet6 $LIBS"
AC_MSG_ERROR([$kame_path/lib/libinet6.a not found.
# the platform that is otherwise broken without it -- BSD/OS 4.0 through 4.1.
# netinet6/in6.h is needed for.
isc_netinet6in6_hack="#include <netinet6/in6.h>"
# This is similar to the netinet6/in6.h issue.
isc_netinetin6_hack="#include <netinet/in6.h>"
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
[struct in6_addr in6; in6 = in6addr_any; return (in6.s6_addr[0]);],
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
[struct in6_addr in6; in6 = in6addr_loopback; return (in6.s6_addr[0]);],
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
[struct sockaddr_in6 xyzzy; xyzzy.sin6_scope_id = 0; return (0);],
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
ISC_IPV6_H="ipv6.h"
ISC_ISCIPV6_O="unix/ipv6.$O"
ISC_IPV6_C="ipv6.c"
#include <sys/types.h>
#include <net/if6.h>
#include <sys/types.h>
#include <net/if6.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_ntop.c"
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_ntop.c"
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_pton.c"
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_pton.c"
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>],
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_aton.c"
#include <sys/types.h>
#include <sys/socket.h>],
[struct sockaddr sa; sa.sa_len = 0; return (0);],
#include <sys/types.h>
#include <sys/socket.h>],
[struct msghdr msg; msg.msg_flags = 0; return (0);],
#include <sys/types.h>
#include <netinet/in.h>],
#include <netdb.h>],
#include <netdb.h>],
#include <netdb.h>],
#include <netdb.h>],
#include <netdb.h>
#include <netdb.h>],
#include <netdb.h>],
#include <netdb.h>
AC_MSG_CHECKING(for h_errno in netdb.h)
#include <netdb.h>],
LIBS="-L/usr/local/v6/lib $LIBS"
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/socket.h>
# because AIX 4.3.3 with patches for bos.adt.include to version 4.3.3.77
# reportedly defines strsep() without declaring it in <string.h> when
AC_TRY_LINK([#include <string.h>], [char *sp; char *foo = strsep(&sp, ".");],
#include <stdio.h>
ISC_PRINT_SRCS="print.c"
ISC_PRINT_SRCS="print.c"
DST_EXTRA_SRCS="$DST_EXTRA_SRCS spnego.c"
AC_MSG_RESULT(using SPNEGO from lib/dns)
#include <stdio.h>
AC_CHECK_HEADERS(linux/capability.h)
AC_CHECK_HEADERS(sys/prctl.h)
AC_CHECK_HEADERS(sys/un.h,
#include <unistd.h>
# BSD/OS, and perhaps some others, don't define rlim_t.
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>],
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(int)));}],
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(long int)));}],
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
main() { struct rlimit r; exit((!sizeof(r.rlim_cur) == sizeof(long long int)));}],
# Shut up a -Wmissing-prototypes warning from <stdio.h>.
AC_CHECK_HEADERS(strings.h,
# zero. Under linux/ibm it is "0" for register 0.
# Sunos, cygwin and solaris 2.x (x<5) require special handling.
# Subroutine for searching for an ordinary file (e.g., a stylesheet)
NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_HTML, html/docbook.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_XHTML, xhtml/docbook.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_MAN, manpages/docbook.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNK_HTML, html/chunk.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNK_XHTML, xhtml/chunk.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNKTOC_HTML, html/chunktoc.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNKTOC_XHTML, xhtml/chunktoc.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_MAKETOC_HTML, html/maketoc.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_MAKETOC_XHTML, xhtml/maketoc.xsl, $docbook_xsl_trees)
db2latex_xsl_trees="/usr/local/share"
NOM_PATH_FILE(XSLT_DB2LATEX_STYLE, db2latex/xsl/docbook.xsl, $db2latex_xsl_trees)
AC_MSG_CHECKING(for db2latex/xsl/figures)
XSLT_DB2LATEX_ADMONITIONS=db2latex/xsl/figures
idn_path=/usr/local
STD_CINCLUDES="$STD_CINCLUDES -I$idn_path/include"
IDNLIBS="-L$idn_path/lib -lidnkit $iconvlib"
AC_CHECK_HEADERS(locale.h)
BIND9_ISC_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isc/include"
BIND9_ISCCC_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isccc/include"
BIND9_ISCCFG_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isccfg/include"
BIND9_DNS_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/dns/include"
BIND9_LWRES_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/lwres/include"
BIND9_BIND9_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/bind9/include"
BIND9_MAKE_INCLUDES=$BIND9_TOP_BUILDDIR/make/includes
BIND9_MAKE_RULES=$BIND9_TOP_BUILDDIR/make/rules
LIBISC_API=$srcdir/lib/isc/api
LIBISCCC_API=$srcdir/lib/isccc/api
LIBISCCFG_API=$srcdir/lib/isccfg/api
LIBDNS_API=$srcdir/lib/dns/api
LIBBIND9_API=$srcdir/lib/bind9/api
LIBLWRES_API=$srcdir/lib/lwres/api
# If config.dlz.in selects one or more DLZ drivers, it will set
sinclude(contrib/dlz/config.dlz.in)
DLZ_DRIVER_RULES=contrib/dlz/drivers/rules
DLZ_DRIVER_RULES=/dev/null
# Commands to run at the end of config.status.
# runs config.status directly (which autoconf allows).