2001-07-17 20:29:36 +00:00
|
|
|
# Copyright (C) 1998-2001 Internet Software Consortium.
|
2000-08-01 01:33:37 +00:00
|
|
|
#
|
2000-06-22 03:00:36 +00:00
|
|
|
# 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.
|
2000-08-01 01:33:37 +00:00
|
|
|
#
|
2000-07-27 09:55:03 +00:00
|
|
|
# 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.
|
2000-06-22 22:00:42 +00:00
|
|
|
|
2000-06-22 19:34:30 +00:00
|
|
|
dnl
|
|
|
|
AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
|
|
|
|
esyscmd([sed "s/^/# /" COPYRIGHT])dnl
|
|
|
|
AC_DIVERT_POP()dnl
|
2000-06-22 03:00:36 +00:00
|
|
|
|
2001-11-01 23:00:44 +00:00
|
|
|
AC_REVISION($Revision: 1.309 $)
|
1999-05-12 05:34:59 +00:00
|
|
|
|
2000-06-22 19:34:30 +00:00
|
|
|
AC_INIT(lib/dns/name.c)
|
1999-07-03 21:07:10 +00:00
|
|
|
AC_PREREQ(2.13)
|
1998-12-11 20:10:26 +00:00
|
|
|
|
|
|
|
AC_CONFIG_HEADER(config.h)
|
2001-06-28 02:24:07 +00:00
|
|
|
AC_CONFIG_SUBDIRS(lib/bind)
|
1998-12-11 20:10:26 +00:00
|
|
|
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
|
1999-04-29 05:19:29 +00:00
|
|
|
AC_PROG_MAKE_SET
|
|
|
|
AC_PROG_RANLIB
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
|
|
|
|
AC_SUBST(STD_CINCLUDES)
|
|
|
|
AC_SUBST(STD_CDEFINES)
|
|
|
|
AC_SUBST(STD_CWARNINGS)
|
2000-06-23 22:38:26 +00:00
|
|
|
AC_SUBST(CCOPT)
|
1999-04-29 05:19:29 +00:00
|
|
|
|
1999-09-30 20:09:33 +00:00
|
|
|
AC_PATH_PROG(AR, ar)
|
|
|
|
ARFLAGS="cruv"
|
|
|
|
AC_SUBST(AR)
|
|
|
|
AC_SUBST(ARFLAGS)
|
|
|
|
|
2000-06-19 19:04:48 +00:00
|
|
|
# The POSIX ln(1) program. Non-POSIX systems may substitute
|
|
|
|
# "copy" or something.
|
|
|
|
LN=ln
|
|
|
|
AC_SUBST(LN)
|
|
|
|
|
2000-05-09 17:07:30 +00:00
|
|
|
case "$AR" in
|
|
|
|
"")
|
|
|
|
AC_MSG_ERROR([
|
|
|
|
ar program not found. Please fix your PATH to include the directory in
|
|
|
|
which ar resides, or set AR in the environment with the full path to ar.
|
|
|
|
])
|
|
|
|
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2001-01-17 19:54:21 +00:00
|
|
|
#
|
|
|
|
# Etags.
|
|
|
|
#
|
2000-03-16 23:04:37 +00:00
|
|
|
AC_PATH_PROGS(ETAGS, etags emacs-etags)
|
2001-02-02 02:07:57 +00:00
|
|
|
|
2001-01-17 19:54:21 +00:00
|
|
|
#
|
|
|
|
# Some systems, e.g. RH7, have the Exuberant Ctags etags instead of
|
|
|
|
# GNU emacs etags, and it requires the -L flag.
|
|
|
|
#
|
|
|
|
if test "X$ETAGS" != "X"; then
|
|
|
|
AC_MSG_CHECKING(for Exuberant Ctags etags)
|
|
|
|
if $ETAGS --version 2>&1 | grep 'Exuberant Ctags' >/dev/null 2>&1; then
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
ETAGS="$ETAGS -L"
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
fi
|
2000-03-16 23:04:37 +00:00
|
|
|
AC_SUBST(ETAGS)
|
|
|
|
|
2000-06-13 17:34:28 +00:00
|
|
|
#
|
|
|
|
# Perl is optional; it is used only by some of the system test scripts.
|
|
|
|
#
|
|
|
|
AC_PATH_PROGS(PERL, perl5 perl)
|
|
|
|
AC_SUBST(PERL)
|
|
|
|
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# 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
|
|
|
|
#
|
2000-02-10 01:14:06 +00:00
|
|
|
case "$prefix" in
|
|
|
|
NONE)
|
|
|
|
case "$sysconfdir" in
|
|
|
|
'${prefix}/etc')
|
|
|
|
sysconfdir=/etc
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
case "$localstatedir" in
|
|
|
|
'${prefix}/var')
|
|
|
|
localstatedir=/var
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
#
|
2000-02-10 13:52:25 +00:00
|
|
|
case "$INSTALL" in
|
|
|
|
/*)
|
|
|
|
;;
|
|
|
|
*)
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# Not all systems have dirname.
|
|
|
|
#
|
2000-02-10 13:52:25 +00:00
|
|
|
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
|
|
|
|
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
#
|
1999-02-04 22:49:00 +00:00
|
|
|
if test "X$CC" = "X" ; then
|
|
|
|
case "$host" in
|
|
|
|
*-dec-osf*)
|
|
|
|
CC="cc"
|
|
|
|
;;
|
2000-03-04 18:36:40 +00:00
|
|
|
*-solaris*)
|
2000-02-11 18:35:11 +00:00
|
|
|
# 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.
|
2000-01-04 20:23:10 +00:00
|
|
|
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"
|
1999-02-04 22:49:00 +00:00
|
|
|
;;
|
|
|
|
*-hp-hpux*)
|
|
|
|
CC="cc"
|
|
|
|
;;
|
|
|
|
mips-sgi-irix*)
|
|
|
|
CC="cc"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
2001-01-31 19:22:46 +00:00
|
|
|
AC_PROG_CC
|
|
|
|
|
|
|
|
AC_HEADER_STDC
|
|
|
|
|
2001-10-22 04:01:32 +00:00
|
|
|
AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/sockio.h sys/select.h sys/sysctl.h net/if6.h)
|
2001-01-31 19:22:46 +00:00
|
|
|
|
|
|
|
AC_C_CONST
|
|
|
|
AC_C_INLINE
|
2001-08-30 04:33:20 +00:00
|
|
|
AC_CHECK_FUNC(sysctlbyname, AC_DEFINE(HAVE_SYSCTLBYNAME))
|
2001-05-03 19:54:44 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# UnixWare 7.1.1 with the feature supplement to the UDK compiler
|
|
|
|
# is reported to not support "static inline" (RT #1212).
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING(for static inline breakage)
|
2001-06-06 23:42:54 +00:00
|
|
|
AC_TRY_COMPILE(, [
|
|
|
|
foo1();
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline int foo1() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline int foo2() {
|
|
|
|
return foo1();
|
|
|
|
],
|
2001-05-03 19:54:44 +00:00
|
|
|
[AC_MSG_RESULT(no)],
|
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
AC_DEFINE(inline, )])
|
|
|
|
|
2001-01-31 19:22:46 +00:00
|
|
|
AC_TYPE_SIZE_T
|
2001-08-15 06:03:39 +00:00
|
|
|
AC_CHECK_TYPE(ssize_t, int)
|
2001-01-31 19:22:46 +00:00
|
|
|
AC_HEADER_TIME
|
2001-02-21 06:09:56 +00:00
|
|
|
AC_MSG_CHECKING(for long long)
|
|
|
|
AC_TRY_COMPILE([],[long long i = 0; return (0);],
|
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
ISC_PLATFORM_HAVELONGLONG="#define ISC_PLATFORM_HAVELONGLONG 1"],
|
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
ISC_PLATFORM_HAVELONGLONG="#undef ISC_PLATFORM_HAVELONGLONG"])
|
|
|
|
AC_SUBST(ISC_PLATFORM_HAVELONGLONG)
|
2001-01-31 19:22:46 +00:00
|
|
|
|
2001-10-03 05:08:32 +00:00
|
|
|
#
|
|
|
|
# check if we have lifconf
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING(for struct lifconf)
|
|
|
|
AC_TRY_COMPILE([
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <net/if.h>
|
|
|
|
],
|
|
|
|
[
|
|
|
|
struct lifconf lifconf;
|
|
|
|
lifconf.lifc_len = 0;
|
|
|
|
]
|
|
|
|
,
|
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
ISC_PLATFORM_HAVELIFCONF="#define ISC_PLATFORM_HAVELIFCONF 1"],
|
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
ISC_PLATFORM_HAVELIFCONF="#undef ISC_PLATFORM_HAVELIFCONF"])
|
|
|
|
AC_SUBST(ISC_PLATFORM_HAVELIFCONF)
|
|
|
|
|
|
|
|
|
2001-01-31 19:22:46 +00:00
|
|
|
#
|
|
|
|
# check if we need to #include sys/select.h explicitly
|
|
|
|
#
|
|
|
|
case $ac_cv_header_unistd_h in
|
|
|
|
yes)
|
|
|
|
AC_MSG_CHECKING(if unistd.h defines fd_set)
|
|
|
|
AC_TRY_COMPILE([
|
|
|
|
#include <unistd.h>],
|
|
|
|
[fd_set read_set; return (0);],
|
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
ISC_PLATFORM_NEEDSYSSELECTH="#undef ISC_PLATFORM_NEEDSYSSELECTH"
|
|
|
|
LWRES_PLATFORM_NEEDSYSSELECTH="#undef LWRES_PLATFORM_NEEDSYSSELECTH"],
|
|
|
|
[AC_MSG_RESULT(no)
|
2001-08-14 02:19:30 +00:00
|
|
|
case $ac_cv_header_sys_select_h in
|
2001-01-31 19:22:46 +00:00
|
|
|
yes)
|
|
|
|
ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
|
|
|
|
LWRES_PLATFORM_NEEDSYSSELECTH="#define LWRES_PLATFORM_NEEDSYSSELECTH 1"
|
|
|
|
;;
|
|
|
|
no)
|
|
|
|
AC_MSG_ERROR([need either working unistd.h or sys/select.h])
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
])
|
|
|
|
;;
|
|
|
|
no)
|
2001-08-14 02:19:30 +00:00
|
|
|
case $ac_cv_header_sys_select_h in
|
2001-01-31 19:22:46 +00:00
|
|
|
yes)
|
|
|
|
ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
|
|
|
|
LWRES_PLATFORM_NEEDSYSSELECTH="#define LWRES_PLATFORM_NEEDSYSSELECTH 1"
|
|
|
|
;;
|
|
|
|
no)
|
|
|
|
AC_MSG_ERROR([need either unistd.h or sys/select.h])
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
AC_SUBST(ISC_PLATFORM_NEEDSYSSELECTH)
|
|
|
|
AC_SUBST(LWRES_PLATFORM_NEEDSYSSELECTH)
|
|
|
|
|
2000-06-07 19:41:49 +00:00
|
|
|
#
|
|
|
|
# Find the machine's endian flavor.
|
|
|
|
#
|
|
|
|
AC_C_BIGENDIAN
|
|
|
|
|
2000-08-02 19:35:35 +00:00
|
|
|
#
|
|
|
|
# was --with-openssl specified?
|
|
|
|
#
|
2001-07-11 23:16:44 +00:00
|
|
|
AC_MSG_CHECKING(for OpenSSL library)
|
2000-08-02 19:35:35 +00:00
|
|
|
AC_ARG_WITH(openssl,
|
2001-10-11 10:07:15 +00:00
|
|
|
[ --with-openssl[=PATH] Build with OpenSSL [yes|no|path].
|
|
|
|
(Required for DNSSEC)],
|
2000-08-08 19:11:05 +00:00
|
|
|
use_openssl="$withval", use_openssl="no")
|
2000-08-02 19:35:35 +00:00
|
|
|
|
2000-08-08 19:11:05 +00:00
|
|
|
case "$use_openssl" in
|
|
|
|
no)
|
2001-07-10 21:40:10 +00:00
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
DST_OPENSSL_INC=""
|
|
|
|
USE_OPENSSL=""
|
2000-08-08 19:11:05 +00:00
|
|
|
;;
|
|
|
|
*)
|
2001-07-11 23:16:44 +00:00
|
|
|
if test "$use_openssl" = "yes"
|
|
|
|
then
|
|
|
|
# User did not specify a path - guess it
|
2001-07-14 00:59:11 +00:00
|
|
|
openssldirs="/usr /usr/local /usr/local/ssl /usr/pkg"
|
2001-07-11 23:35:33 +00:00
|
|
|
for d in $openssldirs
|
|
|
|
do
|
|
|
|
if test -f $d/include/openssl/opensslv.h
|
|
|
|
then
|
|
|
|
use_openssl=$d
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
if test "$use_openssl" = "yes"
|
2001-07-11 23:16:44 +00:00
|
|
|
then
|
2001-07-11 23:35:33 +00:00
|
|
|
AC_MSG_RESULT(not found)
|
2001-07-11 23:16:44 +00:00
|
|
|
AC_MSG_ERROR(
|
2001-07-11 23:23:16 +00:00
|
|
|
[OpenSSL was not found in any of $openssldirs; use --with-openssl=/path])
|
2001-07-11 23:16:44 +00:00
|
|
|
fi
|
|
|
|
fi
|
2001-07-10 21:40:10 +00:00
|
|
|
USE_OPENSSL='-DOPENSSL'
|
2001-07-11 18:14:44 +00:00
|
|
|
DST_OPENSSL_INC="-I$use_openssl/include"
|
2000-08-08 19:11:05 +00:00
|
|
|
DNS_OPENSSL_LIBS="-L$use_openssl/lib -lcrypto"
|
|
|
|
AC_MSG_RESULT(using openssl from $use_openssl/lib and $use_openssl/include)
|
2001-07-11 23:16:44 +00:00
|
|
|
|
|
|
|
AC_MSG_CHECKING(OpenSSL library version)
|
|
|
|
saved_cflags="$CFLAGS"
|
|
|
|
saved_libs="$LIBS"
|
|
|
|
CFLAGS="$CFLAGS $DST_OPENSSL_INC"
|
|
|
|
LIBS="$LIBS $DNS_OPENSSL_LIBS"
|
|
|
|
AC_TRY_RUN([
|
2001-08-24 22:44:57 +00:00
|
|
|
#include <stdio.h>
|
2001-07-11 23:16:44 +00:00
|
|
|
#include <openssl/opensslv.h>
|
|
|
|
int main() {
|
2001-07-13 00:48:46 +00:00
|
|
|
if (OPENSSL_VERSION_NUMBER >= 0x0090581fL)
|
2001-07-11 23:16:44 +00:00
|
|
|
return (0);
|
2001-08-23 06:33:10 +00:00
|
|
|
printf("\n\nFound OPENSSL_VERSION_NUMBER %#010x\n",
|
|
|
|
OPENSSL_VERSION_NUMBER);
|
|
|
|
printf("Require OPENSSL_VERSION_NUMBER 0x0090581f or greater\n\n");
|
2001-07-11 23:16:44 +00:00
|
|
|
return (1);
|
|
|
|
}
|
|
|
|
],
|
|
|
|
[AC_MSG_RESULT(ok)],
|
|
|
|
[AC_MSG_RESULT(not compatible)
|
2001-07-14 01:44:44 +00:00
|
|
|
AC_MSG_ERROR(you need OpenSSL 0.9.5a or newer)],
|
|
|
|
[AC_MSG_RESULT(assuming target platform has compatible version)])
|
2001-07-11 23:16:44 +00:00
|
|
|
CFLAGS="$saved_cflags"
|
|
|
|
LIBS="$saved_libs"
|
2000-08-08 19:11:05 +00:00
|
|
|
;;
|
|
|
|
esac
|
2000-04-20 18:27:43 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# This would include the system openssl path (and linker options to use
|
|
|
|
# it as needed) if it is found.
|
|
|
|
#
|
|
|
|
|
2001-07-10 21:40:10 +00:00
|
|
|
AC_SUBST(DST_OPENSSL_INC)
|
2000-04-20 18:27:43 +00:00
|
|
|
AC_SUBST(DNS_OPENSSL_LIBS)
|
2001-07-10 21:40:10 +00:00
|
|
|
AC_SUBST(USE_OPENSSL)
|
2000-04-20 18:27:43 +00:00
|
|
|
|
2000-08-17 02:05:19 +00:00
|
|
|
#
|
|
|
|
# was --with-gssapi specified?
|
|
|
|
#
|
2001-03-03 21:22:52 +00:00
|
|
|
#AC_MSG_CHECKING(for GSSAPI library)
|
|
|
|
#AC_ARG_WITH(gssapi,
|
|
|
|
#[ --with-gssapi=PATH Specify path for system-supplied GSSAPI],
|
|
|
|
# use_gssapi="$withval", use_gssapi="no")
|
|
|
|
#
|
|
|
|
#case "$use_gssapi" in
|
|
|
|
# no)
|
|
|
|
# USE_GSSAPI=''
|
|
|
|
# DST_GSSAPI_INC=''
|
|
|
|
# DNS_GSSAPI_LIBS=''
|
|
|
|
# AC_MSG_RESULT(not specified)
|
|
|
|
# ;;
|
|
|
|
# yes)
|
|
|
|
# AC_MSG_ERROR([--with-gssapi must specify a path])
|
|
|
|
# ;;
|
|
|
|
# *)
|
|
|
|
# USE_GSSAPI='-DGSSAPI'
|
|
|
|
# DST_GSSAPI_INC="-I$use_gssapi/include"
|
|
|
|
# DNS_GSSAPI_LIBS="-L$use_gssapi/lib -lgssapi_krb5"
|
|
|
|
# AC_MSG_RESULT(using gssapi from $use_gssapi/lib and $use_gssapi/include)
|
|
|
|
# ;;
|
|
|
|
#esac
|
|
|
|
|
|
|
|
USE_GSSAPI=''
|
|
|
|
DST_GSSAPI_INC=''
|
|
|
|
DNS_GSSAPI_LIBS=''
|
2000-08-17 02:05:19 +00:00
|
|
|
|
|
|
|
AC_SUBST(USE_GSSAPI)
|
|
|
|
AC_SUBST(DST_GSSAPI_INC)
|
|
|
|
AC_SUBST(DNS_GSSAPI_LIBS)
|
|
|
|
|
2000-08-17 18:56:49 +00:00
|
|
|
#
|
|
|
|
# was --with-randomdev specified?
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING(for random device)
|
|
|
|
AC_ARG_WITH(randomdev,
|
|
|
|
[ --with-randomdev=PATH Specify path for random device],
|
|
|
|
use_randomdev="$withval", use_randomdev="unspec")
|
|
|
|
|
|
|
|
case "$use_randomdev" in
|
|
|
|
unspec)
|
|
|
|
case "$host" in
|
|
|
|
*-openbsd*)
|
2001-02-14 20:01:12 +00:00
|
|
|
devrandom=/dev/srandom
|
2000-08-17 18:56:49 +00:00
|
|
|
;;
|
|
|
|
*)
|
2001-02-14 20:01:12 +00:00
|
|
|
devrandom=/dev/random
|
2000-08-17 18:56:49 +00:00
|
|
|
;;
|
|
|
|
esac
|
2001-08-27 18:52:59 +00:00
|
|
|
AC_MSG_RESULT($devrandom)
|
2001-02-14 20:01:12 +00:00
|
|
|
AC_CHECK_FILE($devrandom,
|
2001-02-14 22:56:55 +00:00
|
|
|
AC_DEFINE_UNQUOTED(PATH_RANDOMDEV,
|
|
|
|
"$devrandom"),)
|
2000-08-17 18:56:49 +00:00
|
|
|
;;
|
|
|
|
yes)
|
|
|
|
AC_MSG_ERROR([--with-randomdev must specify a path])
|
|
|
|
;;
|
2001-06-03 19:36:01 +00:00
|
|
|
no)
|
|
|
|
AC_MSG_RESULT(disabled)
|
|
|
|
;;
|
2000-08-17 18:56:49 +00:00
|
|
|
*)
|
2000-08-17 19:17:57 +00:00
|
|
|
AC_DEFINE_UNQUOTED(PATH_RANDOMDEV, "$use_randomdev")
|
2000-08-17 18:56:49 +00:00
|
|
|
AC_MSG_RESULT(using "$use_randomdev")
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2000-12-23 18:27:43 +00:00
|
|
|
#
|
|
|
|
# Begin pthreads checking.
|
|
|
|
#
|
|
|
|
# First, decide whether to use multithreading or not.
|
|
|
|
#
|
2001-05-03 17:26:52 +00:00
|
|
|
# Enable multithreading by default on systems where it is known
|
|
|
|
# to work well, and where debugging of multithreaded programs
|
|
|
|
# is supported.
|
|
|
|
#
|
|
|
|
|
|
|
|
AC_MSG_CHECKING(whether to build with thread support)
|
|
|
|
|
|
|
|
case $host in
|
|
|
|
*-dec-osf*)
|
|
|
|
use_threads=true ;;
|
2001-09-09 23:33:38 +00:00
|
|
|
[*-solaris2.[0-6]])
|
2001-05-03 17:26:52 +00:00
|
|
|
# Thread signals are broken on Solaris 2.6; they are sometimes
|
|
|
|
# delivered to the wrong thread.
|
|
|
|
use_threads=false ;;
|
2001-09-09 23:33:38 +00:00
|
|
|
*-solaris*)
|
2001-05-03 17:26:52 +00:00
|
|
|
use_threads=true ;;
|
|
|
|
*-ibm-aix*)
|
|
|
|
use_threads=true ;;
|
2001-07-17 23:45:19 +00:00
|
|
|
*-hp-hpux10*)
|
|
|
|
use_threads=false ;;
|
|
|
|
*-hp-hpux11*)
|
2001-06-06 23:04:06 +00:00
|
|
|
use_threads=true ;;
|
|
|
|
*-sgi-irix*)
|
|
|
|
use_threads=true ;;
|
2001-09-20 18:30:43 +00:00
|
|
|
*-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
|
2001-06-10 22:10:41 +00:00
|
|
|
# UnixWare
|
2001-05-03 17:26:52 +00:00
|
|
|
use_threads=false ;;
|
|
|
|
*-netbsd*)
|
|
|
|
# Socket I/O optimizations introduced in 9.2 expose a
|
|
|
|
# bug in unproven-pthreads; see PR #12650
|
|
|
|
use_threads=false ;;
|
|
|
|
*-openbsd*)
|
2001-05-03 17:38:43 +00:00
|
|
|
# OpenBSD users have reported that named dumps core on
|
2001-05-03 17:26:52 +00:00
|
|
|
# startup when built with threads.
|
|
|
|
use_threads=false ;;
|
|
|
|
*-freebsd*)
|
|
|
|
use_threads=false ;;
|
|
|
|
*-bsdi*)
|
|
|
|
# Thread signals do not appear to work reliably on BSDI.
|
|
|
|
use_threads=false ;;
|
|
|
|
*-linux*)
|
|
|
|
# Threads are disabled on Linux by default because most
|
|
|
|
# Linux kernels produce unusable core dumps from multithreaded
|
|
|
|
# programs, and because of limitations in setuid().
|
|
|
|
use_threads=false ;;
|
|
|
|
*)
|
|
|
|
use_threads=false ;;
|
|
|
|
esac
|
|
|
|
|
2000-12-23 18:27:43 +00:00
|
|
|
AC_ARG_ENABLE(threads,
|
2001-05-03 17:26:52 +00:00
|
|
|
[ --enable-threads enable multithreading])
|
2000-12-23 18:27:43 +00:00
|
|
|
case "$enable_threads" in
|
2001-05-03 17:26:52 +00:00
|
|
|
yes)
|
2000-12-23 18:27:43 +00:00
|
|
|
use_threads=true
|
|
|
|
;;
|
|
|
|
no)
|
|
|
|
use_threads=false
|
|
|
|
;;
|
2001-05-03 17:26:52 +00:00
|
|
|
'')
|
|
|
|
# Use system-dependent default
|
|
|
|
;;
|
2000-12-23 18:27:43 +00:00
|
|
|
*)
|
2001-01-23 03:09:39 +00:00
|
|
|
AC_MSG_ERROR([--enable-threads takes yes or no])
|
2000-12-23 18:27:43 +00:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2001-05-03 17:26:52 +00:00
|
|
|
if $use_threads
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
|
2000-08-29 00:16:24 +00:00
|
|
|
if $use_threads
|
2000-08-29 00:11:15 +00:00
|
|
|
then
|
|
|
|
#
|
2000-08-29 00:41:18 +00:00
|
|
|
# Search for / configure pthreads in a system-dependent fashion.
|
2000-08-29 00:11:15 +00:00
|
|
|
#
|
2000-08-29 00:41:18 +00:00
|
|
|
case "$host" in
|
|
|
|
*-netbsd*)
|
|
|
|
# NetBSD has multiple pthreads implementations. The
|
|
|
|
# recommended one to use is "unproven-pthreads". The
|
|
|
|
# older "mit-pthreads" may also work on some NetBSD
|
|
|
|
# versions. The PTL2 thread library does not
|
|
|
|
# currently work with bind9, but can be chosen with
|
|
|
|
# the --with-ptl2 option for those who wish to
|
|
|
|
# experiment with it.
|
|
|
|
CC="gcc"
|
|
|
|
AC_MSG_CHECKING(which NetBSD thread library to use)
|
|
|
|
|
|
|
|
AC_ARG_WITH(ptl2,
|
2000-05-12 19:23:14 +00:00
|
|
|
[ --with-ptl2 on NetBSD, use the ptl2 thread library (experimental)],
|
2000-08-29 00:41:18 +00:00
|
|
|
use_ptl2="$withval", use_ptl2="no")
|
1999-05-12 05:34:59 +00:00
|
|
|
|
2000-08-29 00:41:18 +00:00
|
|
|
: ${LOCALBASE:=/usr/pkg}
|
2000-02-23 18:21:34 +00:00
|
|
|
|
2000-08-29 00:41:18 +00:00
|
|
|
if test "X$use_ptl2" = "Xyes"
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT(PTL2)
|
|
|
|
AC_MSG_WARN(
|
2000-05-12 19:23:14 +00:00
|
|
|
[linking with PTL2 is highly experimental and not expected to work])
|
2000-08-29 00:41:18 +00:00
|
|
|
CC=ptlgcc
|
|
|
|
else
|
|
|
|
if test ! -d $LOCALBASE/pthreads
|
|
|
|
then
|
2001-01-25 21:42:17 +00:00
|
|
|
AC_MSG_RESULT(none)
|
2001-05-03 17:26:52 +00:00
|
|
|
AC_MSG_ERROR("could not find thread libraries")
|
2000-08-29 00:41:18 +00:00
|
|
|
fi
|
|
|
|
|
2001-01-25 21:42:17 +00:00
|
|
|
if $use_threads
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT(mit-pthreads/unproven-pthreads)
|
|
|
|
pkg="$LOCALBASE/pthreads"
|
|
|
|
lib1="-L$pkg/lib -Wl,-R$pkg/lib"
|
|
|
|
lib2="-lpthread -lm -lgcc -lpthread"
|
|
|
|
LIBS="$lib1 $lib2 $LIBS"
|
|
|
|
CPPFLAGS="$CPPFLAGS -I$pkg/include"
|
|
|
|
STD_CINCLUDES="$STD_CINCLUDES -I$pkg/include"
|
|
|
|
fi
|
2000-05-12 19:23:14 +00:00
|
|
|
fi
|
2000-03-14 03:24:58 +00:00
|
|
|
;;
|
2000-08-29 00:41:18 +00:00
|
|
|
*)
|
2000-12-28 07:15:01 +00:00
|
|
|
AC_CHECK_LIB(pthread, pthread_create,,
|
2000-12-23 18:27:43 +00:00
|
|
|
AC_CHECK_LIB(pthread, __pthread_create,,
|
|
|
|
AC_CHECK_LIB(pthread, __pthread_create_system,,
|
2000-12-28 07:15:01 +00:00
|
|
|
AC_CHECK_LIB(c_r, pthread_create,,
|
|
|
|
AC_CHECK_LIB(c, pthread_create,,
|
2001-05-03 17:26:52 +00:00
|
|
|
AC_MSG_ERROR("could not find thread libraries"))))))
|
2000-03-14 03:24:58 +00:00
|
|
|
;;
|
2000-08-29 00:41:18 +00:00
|
|
|
esac
|
2000-12-22 20:50:05 +00:00
|
|
|
fi
|
2000-08-29 00:41:18 +00:00
|
|
|
|
2000-12-22 20:50:05 +00:00
|
|
|
if $use_threads
|
|
|
|
then
|
2000-08-10 18:06:13 +00:00
|
|
|
#
|
2000-08-29 00:41:18 +00:00
|
|
|
# We'd like to use sigwait() too
|
2000-08-10 18:06:13 +00:00
|
|
|
#
|
2000-08-29 00:41:18 +00:00
|
|
|
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),))
|
|
|
|
)
|
2000-06-22 01:01:55 +00:00
|
|
|
|
2000-12-22 20:50:05 +00:00
|
|
|
AC_CHECK_FUNC(pthread_attr_getstacksize,
|
|
|
|
AC_DEFINE(HAVE_PTHREAD_ATTR_GETSTACKSIZE),)
|
|
|
|
|
2000-08-29 00:41:18 +00:00
|
|
|
#
|
|
|
|
# Additional OS-specific issues related to pthreads and sigwait.
|
|
|
|
#
|
2000-08-29 00:11:15 +00:00
|
|
|
case "$host" in
|
2000-08-29 00:41:18 +00:00
|
|
|
#
|
|
|
|
# One more place to look for sigwait.
|
|
|
|
#
|
|
|
|
*-freebsd*)
|
|
|
|
AC_CHECK_LIB(c_r, sigwait, AC_DEFINE(HAVE_SIGWAIT),)
|
|
|
|
;;
|
|
|
|
#
|
2000-12-31 20:28:29 +00:00
|
|
|
# BSDI 3.0 through 4.0.1 needs pthread_init() to be
|
2000-08-29 00:41:18 +00:00
|
|
|
# called before certain pthreads calls. This is deprecated
|
|
|
|
# in BSD/OS 4.1.
|
|
|
|
#
|
2000-12-31 20:28:29 +00:00
|
|
|
*-bsdi3.*|*-bsdi4.0*)
|
2000-08-29 00:41:18 +00:00
|
|
|
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 and make
|
|
|
|
# sure we call pthread_setconcurrency.
|
|
|
|
#
|
|
|
|
*-solaris*)
|
|
|
|
AC_DEFINE(_POSIX_PTHREAD_SEMANTICS)
|
|
|
|
AC_CHECK_FUNC(pthread_setconcurrency,
|
|
|
|
AC_DEFINE(CALL_PTHREAD_SETCONCURRENCY))
|
|
|
|
;;
|
|
|
|
#
|
|
|
|
# UnixWare does things its own way.
|
|
|
|
#
|
2001-09-20 18:30:43 +00:00
|
|
|
*-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
|
2001-09-20 02:32:44 +00:00
|
|
|
AC_DEFINE(HAVE_UNIXWARE_SIGWAIT)
|
|
|
|
;;
|
2000-08-29 00:11:15 +00:00
|
|
|
esac
|
2000-08-29 00:41:18 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# Look for sysconf to allow detection of the number of processors.
|
|
|
|
#
|
|
|
|
AC_CHECK_FUNC(sysconf, AC_DEFINE(HAVE_SYSCONF),)
|
|
|
|
|
|
|
|
if test "X$GCC" = "Xyes"; then
|
|
|
|
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*)
|
2000-12-23 18:27:43 +00:00
|
|
|
CC="$CC -pthread"
|
|
|
|
CCOPT="$CCOPT -pthread"
|
2000-08-29 00:41:18 +00:00
|
|
|
;;
|
|
|
|
*-solaris*)
|
|
|
|
CC="$CC -mt"
|
|
|
|
CCOPT="$CCOPT -mt"
|
|
|
|
;;
|
|
|
|
*-ibm-aix*)
|
|
|
|
STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
|
|
|
|
;;
|
2001-09-20 18:30:43 +00:00
|
|
|
*-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
|
2001-09-20 02:32:44 +00:00
|
|
|
CC="$CC -Kthread"
|
|
|
|
CCOPT="$CCOPT -Kthread"
|
|
|
|
;;
|
2000-08-29 00:41:18 +00:00
|
|
|
esac
|
|
|
|
fi
|
2001-03-02 17:36:27 +00:00
|
|
|
ALWAYS_DEFINES="-D_REENTRANT"
|
2000-12-23 18:27:43 +00:00
|
|
|
ISC_PLATFORM_USETHREADS="#define ISC_PLATFORM_USETHREADS 1"
|
2000-08-29 18:24:01 +00:00
|
|
|
thread_dir=pthreads
|
|
|
|
else
|
2000-12-23 18:27:43 +00:00
|
|
|
ISC_PLATFORM_USETHREADS="#undef ISC_PLATFORM_USETHREADS"
|
2000-08-29 18:24:01 +00:00
|
|
|
thread_dir=nothreads
|
2001-03-02 17:36:27 +00:00
|
|
|
ALWAYS_DEFINES=""
|
2000-08-29 00:11:15 +00:00
|
|
|
fi
|
2000-12-23 18:27:43 +00:00
|
|
|
|
2001-03-02 17:36:27 +00:00
|
|
|
AC_SUBST(ALWAYS_DEFINES)
|
2000-12-23 18:27:43 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_USETHREADS)
|
2000-08-29 00:11:15 +00:00
|
|
|
|
2000-08-29 18:24:01 +00:00
|
|
|
ISC_THREAD_DIR=$thread_dir
|
|
|
|
AC_SUBST(ISC_THREAD_DIR)
|
|
|
|
|
2000-09-22 18:52:39 +00:00
|
|
|
#
|
|
|
|
# flockfile is usually provided by pthreads, but we may want to use it
|
2001-07-04 00:34:44 +00:00
|
|
|
# even if compiled with --disable-threads. getc_unlocked might also not
|
|
|
|
# be defined.
|
2000-09-22 18:52:39 +00:00
|
|
|
#
|
|
|
|
AC_CHECK_FUNC(flockfile, AC_DEFINE(HAVE_FLOCKFILE),)
|
2001-07-04 00:34:44 +00:00
|
|
|
AC_CHECK_FUNC(getc_unlocked, AC_DEFINE(HAVE_GETCUNLOCKED),)
|
2000-09-22 18:52:39 +00:00
|
|
|
|
2000-12-23 18:27:43 +00:00
|
|
|
#
|
|
|
|
# Indicate what the final decision was regarding threads.
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING(whether to build with threads)
|
|
|
|
if $use_threads; then
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
|
|
|
|
#
|
|
|
|
# End of pthreads stuff.
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# Additional compiler settings.
|
|
|
|
#
|
|
|
|
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"
|
|
|
|
else
|
|
|
|
case $host in
|
|
|
|
*-dec-osf*)
|
|
|
|
CC="$CC -std"
|
|
|
|
CCOPT="$CCOPT -std"
|
|
|
|
MKDEPCC="$CC"
|
|
|
|
;;
|
|
|
|
*-hp-hpux*)
|
|
|
|
CC="$CC -Ae -z"
|
|
|
|
# The version of the C compiler that constantly warns about
|
|
|
|
# 'const' as well as alignment issues is unfortunately not
|
|
|
|
# able to be discerned via the version of the operating
|
|
|
|
# system, nor does cc have a version flag.
|
|
|
|
case "`$CC +W 123 2>&1`" in
|
|
|
|
*Unknown?option*)
|
|
|
|
STD_CWARNINGS="+w1"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
# Turn off the pointlessly noisy warnings.
|
|
|
|
STD_CWARNINGS="+w1 +W 474,530"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
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/openssl.
|
|
|
|
#
|
|
|
|
IRIX_DNSSEC_WARNINGS_HACK="-woff 1692,1552"
|
|
|
|
;;
|
|
|
|
*-solaris*)
|
|
|
|
MKDEPCFLAGS="-xM"
|
|
|
|
;;
|
2001-09-20 18:30:43 +00:00
|
|
|
*-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
|
2001-09-20 02:32:44 +00:00
|
|
|
# UnixWare
|
|
|
|
CC="$CC -w"
|
|
|
|
;;
|
2000-12-23 18:27:43 +00:00
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_SUBST(MKDEPCC)
|
|
|
|
AC_SUBST(MKDEPCFLAGS)
|
|
|
|
AC_SUBST(MKDEPPROG)
|
|
|
|
AC_SUBST(IRIX_DNSSEC_WARNINGS_HACK)
|
|
|
|
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# NLS
|
|
|
|
#
|
1999-06-23 02:51:39 +00:00
|
|
|
AC_CHECK_FUNC(catgets, AC_DEFINE(HAVE_CATGETS),)
|
|
|
|
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# -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:
|
|
|
|
#
|
1999-02-11 06:38:12 +00:00
|
|
|
case "$host" in
|
|
|
|
mips-sgi-irix*)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_CHECK_LIB(socket, socket)
|
|
|
|
AC_CHECK_LIB(nsl, inet_ntoa)
|
|
|
|
;;
|
|
|
|
esac
|
1999-01-22 04:35:11 +00:00
|
|
|
|
2001-02-01 23:16:10 +00:00
|
|
|
#
|
|
|
|
# Purify support
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING(whether to use purify)
|
|
|
|
AC_ARG_WITH(purify,
|
2001-02-02 02:10:32 +00:00
|
|
|
[ --with-purify[=PATH] use Rational purify],
|
2001-02-01 23:16:10 +00:00
|
|
|
use_purify="$withval", use_purify="no")
|
|
|
|
|
|
|
|
case "$use_purify" in
|
|
|
|
no)
|
|
|
|
;;
|
|
|
|
yes)
|
|
|
|
AC_PATH_PROG(purify_path, purify, purify)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
purify_path="$use_purify"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
case "$use_purify" in
|
|
|
|
no)
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
PURIFY=""
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
if test -f $purify_path || test $purify_path = purify; then
|
|
|
|
AC_MSG_RESULT($purify_path)
|
|
|
|
PURIFYFLAGS="`echo $PURIFYOPTIONS`"
|
|
|
|
PURIFY="$purify_path $PURIFYFLAGS"
|
|
|
|
else
|
|
|
|
AC_MSG_ERROR([$purify_path not found.
|
|
|
|
|
|
|
|
Please choose the proper path with the following command:
|
|
|
|
|
|
|
|
configure --with-purify=PATH
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
AC_SUBST(PURIFY)
|
|
|
|
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# GNU libtool support
|
|
|
|
#
|
1999-07-03 21:07:10 +00:00
|
|
|
AC_ARG_WITH(libtool,
|
2000-05-12 18:52:11 +00:00
|
|
|
[ --with-libtool use GNU libtool (following indented options supported)],
|
1999-07-03 21:07:10 +00:00
|
|
|
use_libtool="$withval", use_libtool="no")
|
|
|
|
|
|
|
|
case $use_libtool in
|
|
|
|
yes)
|
|
|
|
AM_PROG_LIBTOOL
|
|
|
|
O=lo
|
|
|
|
A=la
|
2001-03-15 19:12:53 +00:00
|
|
|
LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
|
1999-07-03 21:07:10 +00:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
O=o
|
|
|
|
A=a
|
|
|
|
LIBTOOL=
|
|
|
|
AC_SUBST(LIBTOOL)
|
2001-03-15 19:12:53 +00:00
|
|
|
LIBTOOL_MKDEP_SED=
|
1999-07-03 21:07:10 +00:00
|
|
|
;;
|
|
|
|
esac
|
2000-02-23 23:02:28 +00:00
|
|
|
|
2001-02-02 02:07:57 +00:00
|
|
|
#
|
2000-02-23 23:02:28 +00:00
|
|
|
# File name extension for static archive files, for those few places
|
|
|
|
# where they are treated differently from dynamic ones.
|
2001-02-02 02:07:57 +00:00
|
|
|
#
|
2000-02-23 23:02:28 +00:00
|
|
|
SA=a
|
|
|
|
|
1999-07-03 21:07:10 +00:00
|
|
|
AC_SUBST(O)
|
|
|
|
AC_SUBST(A)
|
2000-02-23 23:02:28 +00:00
|
|
|
AC_SUBST(SA)
|
2001-03-15 19:12:53 +00:00
|
|
|
AC_SUBST(LIBTOOL_MKDEP_SED)
|
1999-07-03 21:07:10 +00:00
|
|
|
|
2001-07-04 03:37:43 +00:00
|
|
|
#
|
|
|
|
# build libbind?
|
|
|
|
#
|
|
|
|
AC_ARG_ENABLE(libbind,
|
|
|
|
[ --enable-libbind build libbind [default=no]])
|
|
|
|
|
|
|
|
case "$enable_libbind" in
|
|
|
|
yes)
|
|
|
|
LIBBIND=lib/bind
|
|
|
|
AC_SUBST(LIBBIND)
|
|
|
|
;;
|
|
|
|
no|'')
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2000-07-25 23:54:09 +00:00
|
|
|
#
|
|
|
|
# Here begins a very long section to determine the system's networking
|
|
|
|
# capabilities. The order of the tests is signficant.
|
|
|
|
#
|
|
|
|
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# IPv6
|
|
|
|
#
|
2000-01-07 02:44:13 +00:00
|
|
|
AC_ARG_ENABLE(ipv6,
|
|
|
|
[ --enable-ipv6 use IPv6 [default=autodetect]])
|
|
|
|
|
2000-09-15 20:50:46 +00:00
|
|
|
case "$enable_ipv6" in
|
|
|
|
yes|''|autodetect)
|
|
|
|
AC_DEFINE(WANT_IPV6)
|
|
|
|
;;
|
|
|
|
no)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# We do the IPv6 compilation checking after libtool so that we can put
|
|
|
|
# the right suffix on the files.
|
|
|
|
#
|
2000-09-15 20:50:46 +00:00
|
|
|
AC_MSG_CHECKING(for IPv6 structures)
|
|
|
|
AC_TRY_COMPILE([
|
2000-01-07 19:44:28 +00:00
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <netinet/in.h>],
|
2000-09-15 20:50:46 +00:00
|
|
|
[struct sockaddr_in6 sin6; return (0);],
|
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
found_ipv6=yes],
|
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
found_ipv6=no])
|
2000-01-07 02:44:13 +00:00
|
|
|
|
2000-05-13 18:15:11 +00:00
|
|
|
#
|
|
|
|
# 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({, })
|
2000-05-18 22:35:47 +00:00
|
|
|
case "$host" in
|
|
|
|
*-bsdi4.[01]*)
|
2000-05-13 18:15:11 +00:00
|
|
|
ISC_PLATFORM_NEEDNETINET6IN6H="#define ISC_PLATFORM_NEEDNETINET6IN6H 1"
|
|
|
|
LWRES_PLATFORM_NEEDNETINET6IN6H="#define LWRES_PLATFORM_NEEDNETINET6IN6H 1"
|
2000-05-18 22:35:47 +00:00
|
|
|
isc_netinet6in6_hack="#include <netinet6/in6.h>"
|
2000-05-13 18:15:11 +00:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
ISC_PLATFORM_NEEDNETINET6IN6H="#undef ISC_PLATFORM_NEEDNETINET6IN6H"
|
|
|
|
LWRES_PLATFORM_NEEDNETINET6IN6H="#undef LWRES_PLATFORM_NEEDNETINET6IN6H"
|
2000-05-18 22:35:47 +00:00
|
|
|
isc_netinet6in6_hack=""
|
2000-05-13 18:15:11 +00:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
changequote([, ])
|
|
|
|
|
2000-05-18 22:35:47 +00:00
|
|
|
#
|
|
|
|
# This is similar to the netinet6/in6.h issue.
|
|
|
|
#
|
|
|
|
case "$host" in
|
2001-09-20 18:30:43 +00:00
|
|
|
*-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
|
2001-09-20 02:32:44 +00:00
|
|
|
# UnixWare
|
|
|
|
ISC_PLATFORM_NEEDNETINETIN6H="#define ISC_PLATFORM_NEEDNETINETIN6H 1"
|
|
|
|
LWRES_PLATFORM_NEEDNETINETIN6H="#define LWRES_PLATFORM_NEEDNETINETIN6H 1"
|
|
|
|
ISC_PLATFORM_FIXIN6ISADDR="#define ISC_PLATFORM_FIXIN6ISADDR 1"
|
|
|
|
isc_netinetin6_hack="#include <netinet/in6.h>"
|
|
|
|
;;
|
2000-05-18 22:35:47 +00:00
|
|
|
*)
|
|
|
|
ISC_PLATFORM_NEEDNETINETIN6H="#undef ISC_PLATFORM_NEEDNETINETIN6H"
|
|
|
|
LWRES_PLATFORM_NEEDNETINETIN6H="#undef LWRES_PLATFORM_NEEDNETINETIN6H"
|
2000-12-08 00:55:51 +00:00
|
|
|
ISC_PLATFORM_FIXIN6ISADDR="#undef ISC_PLATFORM_FIXIN6ISADDR"
|
2000-05-18 22:35:47 +00:00
|
|
|
isc_netinetin6_hack=""
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2000-05-13 18:15:11 +00:00
|
|
|
#
|
|
|
|
# Now delve deeper into the suitability of the IPv6 support.
|
|
|
|
#
|
2000-01-07 02:44:13 +00:00
|
|
|
case "$found_ipv6" in
|
|
|
|
yes)
|
2000-02-04 06:04:16 +00:00
|
|
|
ISC_PLATFORM_HAVEIPV6="#define ISC_PLATFORM_HAVEIPV6 1"
|
|
|
|
LWRES_PLATFORM_HAVEIPV6="#define LWRES_PLATFORM_HAVEIPV6 1"
|
2000-06-15 21:52:21 +00:00
|
|
|
|
2001-01-03 13:05:14 +00:00
|
|
|
AC_MSG_CHECKING(for in6_addr)
|
|
|
|
AC_TRY_COMPILE([
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <netinet/in.h>
|
|
|
|
$isc_netinetin6_hack
|
|
|
|
$isc_netinet6in6_hack
|
|
|
|
],
|
|
|
|
[struct in6_addr in6; return (0);],
|
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
ISC_PLATFORM_HAVEINADDR6="#undef ISC_PLATFORM_HAVEINADDR6"
|
|
|
|
LWRES_PLATFORM_HAVEINADDR6="#undef LWRES_PLATFORM_HAVEINADDR6"
|
|
|
|
isc_in_addr6_hack=""],
|
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
ISC_PLATFORM_HAVEINADDR6="#define ISC_PLATFORM_HAVEINADDR6 1"
|
|
|
|
LWRES_PLATFORM_HAVEINADDR6="#define LWRES_PLATFORM_HAVEINADDR6 1"
|
|
|
|
isc_in_addr6_hack="#define in6_addr in_addr6"])
|
|
|
|
|
2000-03-22 22:07:17 +00:00
|
|
|
AC_MSG_CHECKING(for in6addr_any)
|
2000-04-04 18:33:08 +00:00
|
|
|
AC_TRY_LINK([
|
2000-03-22 22:07:17 +00:00
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
2000-05-18 22:35:47 +00:00
|
|
|
#include <netinet/in.h>
|
2001-01-03 13:05:14 +00:00
|
|
|
$isc_netinetin6_hack
|
|
|
|
$isc_netinet6in6_hack
|
|
|
|
$isc_in_addr6_hack
|
|
|
|
],
|
2000-03-22 22:07:17 +00:00
|
|
|
[struct in6_addr in6; in6 = in6addr_any; return (0);],
|
|
|
|
[AC_MSG_RESULT(yes)
|
2000-06-06 16:06:50 +00:00
|
|
|
ISC_PLATFORM_NEEDIN6ADDRANY="#undef ISC_PLATFORM_NEEDIN6ADDRANY"
|
|
|
|
LWRES_PLATFORM_NEEDIN6ADDRANY="#undef LWRES_PLATFORM_NEEDIN6ADDRANY"],
|
2000-03-22 22:07:17 +00:00
|
|
|
[AC_MSG_RESULT(no)
|
2000-06-06 16:06:50 +00:00
|
|
|
ISC_PLATFORM_NEEDIN6ADDRANY="#define ISC_PLATFORM_NEEDIN6ADDRANY 1"
|
|
|
|
LWRES_PLATFORM_NEEDIN6ADDRANY="#define LWRES_PLATFORM_NEEDIN6ADDRANY 1"])
|
2000-06-15 21:52:21 +00:00
|
|
|
|
2001-11-01 22:39:30 +00:00
|
|
|
AC_MSG_CHECKING(for in6addr_loopback)
|
|
|
|
AC_TRY_LINK([
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <netinet/in.h>
|
|
|
|
$isc_netinetin6_hack
|
|
|
|
$isc_netinet6in6_hack
|
|
|
|
$isc_in_addr6_hack
|
|
|
|
],
|
|
|
|
[struct in6_addr in6; in6 = in6addr_loopback; return (0);],
|
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef ISC_PLATFORM_NEEDIN6ADDRLOOPBACK"
|
|
|
|
LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK"],
|
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#define ISC_PLATFORM_NEEDIN6ADDRLOOPBACK 1"
|
|
|
|
LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#define LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK 1"])
|
|
|
|
|
2000-06-15 21:52:21 +00:00
|
|
|
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"
|
|
|
|
|
2000-05-06 01:30:32 +00:00
|
|
|
AC_MSG_CHECKING(for in6_pktinfo)
|
2000-05-13 18:15:11 +00:00
|
|
|
AC_TRY_COMPILE([
|
2000-05-06 01:30:32 +00:00
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
2000-05-06 22:53:20 +00:00
|
|
|
#include <netinet/in.h>
|
2000-05-18 22:35:47 +00:00
|
|
|
$isc_netinetin6_hack
|
|
|
|
$isc_netinet6in6_hack
|
2000-05-06 22:53:20 +00:00
|
|
|
],
|
2000-05-06 01:30:32 +00:00
|
|
|
[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"])
|
2000-01-07 02:44:13 +00:00
|
|
|
;;
|
|
|
|
no)
|
|
|
|
ISC_PLATFORM_HAVEIPV6="#undef ISC_PLATFORM_HAVEIPV6"
|
2000-02-04 06:04:16 +00:00
|
|
|
LWRES_PLATFORM_HAVEIPV6="#undef LWRES_PLATFORM_HAVEIPV6"
|
2000-04-04 18:33:08 +00:00
|
|
|
ISC_PLATFORM_NEEDIN6ADDRANY="#undef ISC_PLATFORM_NEEDIN6ADDRANY"
|
2000-06-06 16:06:50 +00:00
|
|
|
LWRES_PLATFORM_NEEDIN6ADDRANY="#undef LWRES_PLATFORM_NEEDIN6ADDRANY"
|
2000-05-06 01:30:32 +00:00
|
|
|
ISC_PLATFORM_HAVEIN6PKTINFO="#undef ISC_PLATFORM_HAVEIN6PKTINFO"
|
2000-06-15 21:52:21 +00:00
|
|
|
LWRES_HAVE_SIN6_SCOPE_ID="#define LWRES_HAVE_SIN6_SCOPE_ID 1"
|
2000-01-07 02:44:13 +00:00
|
|
|
ISC_IPV6_H="ipv6.h"
|
|
|
|
ISC_IPV6_O="ipv6.$O"
|
|
|
|
ISC_ISCIPV6_O="unix/ipv6.$O"
|
|
|
|
ISC_IPV6_C="ipv6.c"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
1999-10-05 19:52:30 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_HAVEIPV6)
|
2000-02-04 06:04:16 +00:00
|
|
|
AC_SUBST(LWRES_PLATFORM_HAVEIPV6)
|
2000-05-18 22:35:47 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_NEEDNETINETIN6H)
|
|
|
|
AC_SUBST(LWRES_PLATFORM_NEEDNETINETIN6H)
|
2000-05-13 18:15:11 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_NEEDNETINET6IN6H)
|
|
|
|
AC_SUBST(LWRES_PLATFORM_NEEDNETINET6IN6H)
|
2001-01-03 13:05:14 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_HAVEINADDR6)
|
|
|
|
AC_SUBST(LWRES_PLATFORM_HAVEINADDR6)
|
2000-03-22 22:07:17 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRANY)
|
2000-06-06 16:06:50 +00:00
|
|
|
AC_SUBST(LWRES_PLATFORM_NEEDIN6ADDRANY)
|
2001-11-01 23:00:44 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRLOOPBACK)
|
|
|
|
AC_SUBST(LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK)
|
2000-05-06 01:30:32 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_HAVEIN6PKTINFO)
|
2000-12-08 00:55:51 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_FIXIN6ISADDR)
|
1999-08-27 21:08:40 +00:00
|
|
|
AC_SUBST(ISC_IPV6_H)
|
|
|
|
AC_SUBST(ISC_IPV6_O)
|
|
|
|
AC_SUBST(ISC_ISCIPV6_O)
|
|
|
|
AC_SUBST(ISC_IPV6_C)
|
2000-06-15 21:52:21 +00:00
|
|
|
AC_SUBST(LWRES_HAVE_SIN6_SCOPE_ID)
|
2000-07-25 23:54:09 +00:00
|
|
|
|
2001-10-22 04:01:32 +00:00
|
|
|
AC_MSG_CHECKING([for struct if_laddrreq])
|
|
|
|
AC_TRY_LINK([
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <net/if6.h>
|
|
|
|
],[ struct if_laddrreq a; ],
|
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
ISC_PLATFORM_HAVEIF_LADDRREQ="#define ISC_PLATFORM_HAVEIF_LADDRREQ 1"],
|
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
ISC_PLATFORM_HAVEIF_LADDRREQ="#undef ISC_PLATFORM_HAVEIF_LADDRREQ"])
|
|
|
|
AC_SUBST(ISC_PLATFORM_HAVEIF_LADDRREQ)
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([for struct if_laddrconf])
|
|
|
|
AC_TRY_LINK([
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <net/if6.h>
|
|
|
|
],[ struct if_laddrconf a; ],
|
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
ISC_PLATFORM_HAVEIF_LADDRCONF="#define ISC_PLATFORM_HAVEIF_LADDRCONF 1"],
|
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
ISC_PLATFORM_HAVEIF_LADDRCONF="#undef ISC_PLATFORM_HAVEIF_LADDRCONF"])
|
|
|
|
AC_SUBST(ISC_PLATFORM_HAVEIF_LADDRCONF)
|
|
|
|
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# Check for network functions that are often missing. We do this
|
|
|
|
# after the libtool checking, so we can put the right suffix on
|
2000-07-25 23:54:09 +00:00
|
|
|
# the files. It also needs to come after checking for a Kame add-on,
|
|
|
|
# which provides some (all?) of the desired functions.
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
2001-03-21 02:06:28 +00:00
|
|
|
|
2000-04-28 00:48:20 +00:00
|
|
|
AC_MSG_CHECKING([for inet_ntop])
|
2000-04-26 21:50:49 +00:00
|
|
|
AC_TRY_LINK([
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <netinet/in.h>
|
|
|
|
#include <arpa/inet.h>],
|
2000-04-27 23:07:10 +00:00
|
|
|
[inet_ntop(0, 0, 0, 0); return (0);],
|
2000-04-26 21:50:49 +00:00
|
|
|
[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"])
|
2001-03-21 02:06:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
# On NetBSD 1.4.2 and maybe others, inet_pton() incorrectly accepts
|
2001-07-16 03:06:53 +00:00
|
|
|
# addresses with less than four octets, like "1.2.3". Also leading
|
|
|
|
# zeros should also be rejected.
|
2001-03-21 02:06:28 +00:00
|
|
|
|
2000-04-28 00:48:20 +00:00
|
|
|
AC_MSG_CHECKING([for inet_pton])
|
2001-03-21 02:06:28 +00:00
|
|
|
AC_TRY_RUN([
|
2000-04-26 21:50:49 +00:00
|
|
|
#include <sys/types.h>
|
2001-03-21 02:06:28 +00:00
|
|
|
#include <sys/socket.h>
|
2000-04-26 21:50:49 +00:00
|
|
|
#include <netinet/in.h>
|
2001-03-21 02:06:28 +00:00
|
|
|
#include <arpa/inet.h>
|
2001-07-16 03:06:53 +00:00
|
|
|
main() { char a[4]; return (inet_pton(AF_INET, "1.2.3", a) == 1 ? 1 :
|
|
|
|
inet_pton(AF_INET, "1.2.3.04", a) == 1 ? 1 : 0); }],
|
2000-04-26 21:50:49 +00:00
|
|
|
[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"
|
2001-07-14 01:44:44 +00:00
|
|
|
ISC_PLATFORM_NEEDPTON="#define ISC_PLATFORM_NEEDPTON 1"],
|
|
|
|
[AC_MSG_RESULT(assuming target platform has working inet_pton)
|
|
|
|
ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"])
|
2001-03-21 02:06:28 +00:00
|
|
|
|
2000-04-28 00:48:20 +00:00
|
|
|
AC_MSG_CHECKING([for inet_aton])
|
2000-04-26 21:50:49 +00:00
|
|
|
AC_TRY_LINK([
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <netinet/in.h>
|
|
|
|
#include <arpa/inet.h>],
|
2000-04-27 23:07:10 +00:00
|
|
|
[struct in_addr in; inet_aton(0, &in); return (0);],
|
2000-04-26 21:50:49 +00:00
|
|
|
[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)
|
|
|
|
|
2000-07-25 23:54:09 +00:00
|
|
|
#
|
|
|
|
# Look for a 4.4BSD-style sa_len member in struct sockaddr.
|
|
|
|
#
|
|
|
|
case "$host" in
|
|
|
|
*-dec-osf*)
|
|
|
|
# Turn on 4.4BSD style sa_len support.
|
|
|
|
AC_DEFINE(_SOCKADDR_LEN)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
2001-08-16 06:39:33 +00:00
|
|
|
#
|
|
|
|
# Check for rrsetinfo
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING(for struct rrsetinfo)
|
|
|
|
AC_TRY_COMPILE([
|
|
|
|
#include <netdb.h>],
|
|
|
|
[struct rrsetinfo r; return (0);],
|
|
|
|
[AC_MSG_RESULT(yes)
|
2001-10-22 22:34:56 +00:00
|
|
|
ISC_LWRES_NEEDRRSETINFO="#undef ISC_LWRES_NEEDRRSETINFO"],
|
2001-08-16 06:39:33 +00:00
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
ISC_LWRES_NEEDRRSETINFO="#define ISC_LWRES_NEEDRRSETINFO 1"])
|
|
|
|
AC_SUBST(ISC_LWRES_NEEDRRSETINFO)
|
|
|
|
|
2000-07-25 23:54:09 +00:00
|
|
|
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)
|
|
|
|
|
2000-10-16 19:05:13 +00:00
|
|
|
AC_MSG_CHECKING(for gethostbyaddr(const void *, size_t, ...))
|
2000-07-25 23:54:09 +00:00
|
|
|
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"])
|
2001-01-18 22:21:31 +00:00
|
|
|
AC_CHECK_FUNC(gai_strerror, AC_DEFINE(HAVE_GAISTRERROR))
|
2000-07-25 23:54:09 +00:00
|
|
|
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)])
|
|
|
|
|
|
|
|
#
|
2000-04-26 21:50:49 +00:00
|
|
|
# Check for some other useful functions that are not ever-present.
|
2000-07-25 23:54:09 +00:00
|
|
|
#
|
2000-01-21 01:41:24 +00:00
|
|
|
AC_CHECK_FUNC(strsep,
|
|
|
|
[ISC_PLATFORM_NEEDSTRSEP="#undef ISC_PLATFORM_NEEDSTRSEP"],
|
2000-04-28 22:40:10 +00:00
|
|
|
[ISC_PLATFORM_NEEDSTRSEP="#define ISC_PLATFORM_NEEDSTRSEP 1"])
|
1999-09-12 00:47:20 +00:00
|
|
|
AC_CHECK_FUNC(vsnprintf,
|
1999-10-05 19:52:30 +00:00
|
|
|
[ISC_PLATFORM_NEEDVSNPRINTF="#undef ISC_PLATFORM_NEEDVSNPRINTF"],
|
1999-09-14 04:28:07 +00:00
|
|
|
[ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS print.$O"
|
|
|
|
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS print.c"
|
1999-10-05 19:52:30 +00:00
|
|
|
ISC_PLATFORM_NEEDVSNPRINTF="#define ISC_PLATFORM_NEEDVSNPRINTF 1"])
|
2000-01-21 01:53:59 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_NEEDSTRSEP)
|
1999-10-05 19:52:30 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_NEEDVSNPRINTF)
|
2001-08-30 04:33:20 +00:00
|
|
|
AC_CHECK_FUNC(strerror, AC_DEFINE(HAVE_STRERROR))
|
2000-04-26 21:50:49 +00:00
|
|
|
|
1999-07-13 20:12:47 +00:00
|
|
|
AC_SUBST(ISC_EXTRA_OBJS)
|
|
|
|
AC_SUBST(ISC_EXTRA_SRCS)
|
2000-04-26 21:50:49 +00:00
|
|
|
|
2001-02-27 02:22:17 +00:00
|
|
|
#
|
|
|
|
# Determine the printf format characters to use when printing
|
|
|
|
# values of type isc_int64_t. We make the assumption that platforms
|
|
|
|
# where a "long long" is the same size as a "long" (e.g., Alpha/OSF1)
|
|
|
|
# want "%ld" and everyone else can use "%lld". Win32 uses "%I64d",
|
|
|
|
# but that's defined elsewhere since we don't use configure on Win32.
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING(printf format modifier for 64-bit integers)
|
2000-01-28 01:47:25 +00:00
|
|
|
AC_TRY_RUN([main() { exit(!(sizeof(long long int) == sizeof(long int))); }],
|
2001-02-27 02:22:17 +00:00
|
|
|
[AC_MSG_RESULT(l)
|
|
|
|
ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "l"'],
|
|
|
|
[AC_MSG_RESULT(ll)
|
|
|
|
ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "ll"'],
|
2001-07-14 01:44:44 +00:00
|
|
|
[AC_MSG_RESULT(assuming target platform uses ll)
|
2001-02-27 02:22:17 +00:00
|
|
|
ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "ll"'])
|
|
|
|
AC_SUBST(ISC_PLATFORM_QUADFORMAT)
|
1999-10-07 19:32:08 +00:00
|
|
|
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# Security Stuff
|
|
|
|
#
|
1999-10-07 19:32:08 +00:00
|
|
|
AC_CHECK_FUNC(chroot, AC_DEFINE(HAVE_CHROOT))
|
2001-07-17 22:26:43 +00:00
|
|
|
AC_ARG_ENABLE(linux-caps,
|
|
|
|
[ --disable-linux-caps disable linux capabilities])
|
|
|
|
case "$enable_linux_caps" in
|
|
|
|
yes|'')
|
|
|
|
AC_CHECK_HEADERS(linux/capability.h)
|
|
|
|
;;
|
|
|
|
no)
|
|
|
|
;;
|
|
|
|
esac
|
2001-02-24 23:05:09 +00:00
|
|
|
AC_CHECK_HEADERS(sys/prctl.h)
|
1999-10-07 19:32:08 +00:00
|
|
|
|
2000-04-28 00:32:19 +00:00
|
|
|
#
|
2000-12-23 02:46:34 +00:00
|
|
|
# BSD/OS, and perhaps some others, don't define rlim_t.
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING(for type rlim_t)
|
|
|
|
AC_TRY_COMPILE([
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/time.h>
|
|
|
|
#include <sys/resource.h>],
|
|
|
|
[rlim_t rl = 19671212; return (0);],
|
2001-07-14 01:44:44 +00:00
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE rlim_t"],
|
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
|
|
|
|
AC_MSG_CHECKING(type of rlim_cur)
|
2001-01-23 04:58:57 +00:00
|
|
|
AC_TRY_RUN([
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/time.h>
|
|
|
|
#include <sys/resource.h>
|
|
|
|
main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(int)));}],
|
|
|
|
[AC_MSG_RESULT(int)
|
|
|
|
ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE int"],
|
|
|
|
[
|
|
|
|
AC_TRY_RUN([
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/time.h>
|
|
|
|
#include <sys/resource.h>
|
|
|
|
main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(long int)));}],
|
|
|
|
[AC_MSG_RESULT(long int)
|
|
|
|
ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE long int"],
|
|
|
|
[
|
|
|
|
AC_TRY_RUN([
|
|
|
|
#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)));}],
|
|
|
|
[AC_MSG_RESULT(long long int)
|
|
|
|
ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE long long int"],
|
|
|
|
[AC_MSG_ERROR([unable to determine sizeof rlim_cur])
|
2001-07-14 01:44:44 +00:00
|
|
|
],[AC_MSG_ERROR(this cannot happen)])
|
|
|
|
],[AC_MSG_ERROR(this cannot happen)])
|
|
|
|
],[AC_MSG_ERROR(cannot determine type of rlim_cur when cross compiling - define rlim_t)])
|
|
|
|
])
|
2001-01-23 04:58:57 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_RLIMITTYPE)
|
2001-01-23 18:08:15 +00:00
|
|
|
|
2001-07-11 05:32:55 +00:00
|
|
|
#
|
|
|
|
# Microsoft has their own way of handling shared libraries that requires
|
|
|
|
# additional qualifiers on extern variables. Unix systems don't need it.
|
|
|
|
#
|
|
|
|
AC_SUBST(ISC_PLATFORM_USEDECLSPEC)
|
|
|
|
ISC_PLATFORM_USEDECLSPEC="#undef ISC_PLATFORM_USEDECLSPEC"
|
2001-07-18 07:30:27 +00:00
|
|
|
AC_SUBST(LWRES_PLATFORM_USEDECLSPEC)
|
|
|
|
LWRES_PLATFORM_USEDECLSPEC="#undef LWRES_PLATFORM_USEDECLSPEC"
|
2001-07-11 05:32:55 +00:00
|
|
|
|
2000-12-23 02:46:34 +00:00
|
|
|
#
|
|
|
|
# Random remaining OS-specific issues involving compiler warnings.
|
2000-06-06 16:06:50 +00:00
|
|
|
# XXXDCL print messages to indicate some compensation is being done?
|
2000-04-28 00:32:19 +00:00
|
|
|
#
|
2000-06-06 16:06:50 +00:00
|
|
|
AC_SUBST(ISC_PLATFORM_BRACEPTHREADONCEINIT)
|
|
|
|
ISC_PLATFORM_BRACEPTHREADONCEINIT="#undef ISC_PLATFORM_BRACEPTHREADONCEINIT"
|
|
|
|
|
2000-04-28 00:32:19 +00:00
|
|
|
case "$host" in
|
2000-06-06 16:06:50 +00:00
|
|
|
*-bsdi3.1*)
|
|
|
|
hack_shutup_sputaux=yes
|
|
|
|
;;
|
|
|
|
*-bsdi4.0*)
|
|
|
|
hack_shutup_sigwait=yes
|
|
|
|
hack_shutup_sputaux=yes
|
|
|
|
;;
|
2001-10-02 17:23:52 +00:00
|
|
|
[*-bsdi4.[12]*])
|
2000-06-06 16:06:50 +00:00
|
|
|
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().
|
2000-08-01 01:33:37 +00:00
|
|
|
#
|
2000-06-06 16:06:50 +00:00
|
|
|
AC_DEFINE(SHUTUP_SIGWAIT)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
case "$hack_shutup_sputaux" in
|
|
|
|
yes)
|
|
|
|
#
|
|
|
|
# Shut up a -Wmissing-prototypes warning from <stdio.h>.
|
|
|
|
#
|
2000-04-28 00:32:19 +00:00
|
|
|
AC_DEFINE(SHUTUP_SPUTAUX)
|
|
|
|
;;
|
2000-06-06 16:06:50 +00:00
|
|
|
esac
|
|
|
|
|
|
|
|
case "$hack_shutup_stdargcast" in
|
|
|
|
yes)
|
|
|
|
#
|
|
|
|
# Shut up a -Wcast-qual warning from va_start().
|
|
|
|
#
|
|
|
|
AC_DEFINE(SHUTUP_STDARG_CAST)
|
|
|
|
;;
|
2000-04-28 00:32:19 +00:00
|
|
|
esac
|
|
|
|
|
2001-05-02 23:15:38 +00:00
|
|
|
#
|
|
|
|
# The following sections deal with tools used for formatting
|
|
|
|
# the documentation. They are all optional, unless you are
|
|
|
|
# a developer editing the documentation source.
|
|
|
|
#
|
2000-11-15 23:53:00 +00:00
|
|
|
|
2001-05-15 20:09:47 +00:00
|
|
|
# Directory trees where SGML files are commonly found.
|
|
|
|
sgmltrees="/usr/pkg/share/sgml /usr/local/share/sgml"
|
|
|
|
|
2000-11-15 23:53:00 +00:00
|
|
|
#
|
2001-05-15 17:33:32 +00:00
|
|
|
# Look for openjade. Plain jade is no longer supported.
|
2000-11-15 23:53:00 +00:00
|
|
|
#
|
|
|
|
|
2001-05-15 17:33:32 +00:00
|
|
|
AC_PATH_PROGS(OPENJADE, openjade, openjade)
|
|
|
|
AC_SUBST(OPENJADE)
|
2000-11-15 23:53:00 +00:00
|
|
|
|
2001-02-02 22:37:20 +00:00
|
|
|
#
|
2001-05-15 18:07:16 +00:00
|
|
|
# Look for TeX.
|
2001-02-02 22:37:20 +00:00
|
|
|
#
|
|
|
|
|
2001-05-15 18:07:16 +00:00
|
|
|
AC_PATH_PROGS(JADETEX, jadetex, jadetex)
|
|
|
|
AC_SUBST(JADETEX)
|
2001-02-02 22:37:20 +00:00
|
|
|
|
2001-05-15 18:07:16 +00:00
|
|
|
AC_PATH_PROGS(PDFJADETEX, pdfjadetex, pdfjadetex)
|
|
|
|
AC_SUBST(PDFJADETEX)
|
2001-02-02 22:37:20 +00:00
|
|
|
|
2001-07-11 23:35:33 +00:00
|
|
|
#
|
|
|
|
# Subroutine for searching for an ordinary file (e.g., a stylesheet)
|
|
|
|
# in a number of directories:
|
|
|
|
#
|
|
|
|
# NOM_PATH_FILE(VARIABLE, FILENAME, DIRECTORIES)
|
|
|
|
#
|
|
|
|
# If the file FILENAME is found in one of the DIRECTORIES, the shell
|
|
|
|
# variable VARIABLE is defined to its absolute pathname. Otherwise,
|
|
|
|
# it is set to FILENAME, with no directory prefix (that's not terribly
|
|
|
|
# useful, but looks less confusing in substitutions than leaving it
|
|
|
|
# empty). The variable VARIABLE will be substituted into output files.
|
|
|
|
#
|
|
|
|
|
|
|
|
AC_DEFUN(NOM_PATH_FILE, [
|
|
|
|
$1=""
|
|
|
|
AC_MSG_CHECKING(for $2)
|
|
|
|
for d in $3
|
|
|
|
do
|
|
|
|
f=$d/$2
|
|
|
|
if test -f $f
|
|
|
|
then
|
|
|
|
$1=$f
|
|
|
|
AC_MSG_RESULT($f)
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
if test "X[$]$1" = "X"
|
|
|
|
then
|
|
|
|
AC_MSG_RESULT("not found");
|
|
|
|
$1=$2
|
|
|
|
fi
|
|
|
|
AC_SUBST($1)
|
|
|
|
])
|
|
|
|
|
2001-05-15 20:09:47 +00:00
|
|
|
NOM_PATH_FILE(SGMLCATALOG, catalog, $sgmltrees)
|
2001-05-15 17:33:32 +00:00
|
|
|
|
2000-11-15 23:32:21 +00:00
|
|
|
#
|
2001-05-15 17:33:32 +00:00
|
|
|
# Look for the HTML stylesheet html/docbook.dsl, used for
|
|
|
|
# formatting man pages in HTML. Its location varies,
|
|
|
|
# so far we have seen:
|
2001-03-29 22:54:36 +00:00
|
|
|
#
|
|
|
|
# NetBSD /usr/pkg/share/docbook/dsssl/modular/
|
|
|
|
# FreeBSD /usr/local/share/docbook/dsssl/modular/
|
|
|
|
# Linux /usr/local/share/dsssl/docbook/
|
2000-11-15 23:32:21 +00:00
|
|
|
#
|
2001-05-15 20:09:47 +00:00
|
|
|
# Ditto for the print stylesheet print/docbook.dsl.
|
|
|
|
#
|
2000-11-15 23:32:21 +00:00
|
|
|
|
2001-05-15 20:09:47 +00:00
|
|
|
stylepath=""
|
|
|
|
for d in $sgmltrees
|
2001-05-15 18:07:16 +00:00
|
|
|
do
|
|
|
|
for s in docbook/dsssl/modular dsssl/docbook
|
|
|
|
do
|
2001-05-15 20:09:47 +00:00
|
|
|
stylepath="$stylepath $d/$s"
|
2001-05-15 18:07:16 +00:00
|
|
|
done
|
|
|
|
done
|
2001-05-15 20:09:47 +00:00
|
|
|
NOM_PATH_FILE(HTMLSTYLE, html/docbook.dsl, $stylepath)
|
2001-05-15 20:58:17 +00:00
|
|
|
NOM_PATH_FILE(PRINTSTYLE, print/docbook.dsl, $stylepath)
|
2001-05-15 18:07:16 +00:00
|
|
|
|
2001-05-15 17:33:32 +00:00
|
|
|
#
|
|
|
|
# Look for XML declarations
|
|
|
|
#
|
2001-05-15 20:09:47 +00:00
|
|
|
|
|
|
|
NOM_PATH_FILE(XMLDCL, docbook/dsssl/modular/dtds/decls/xml.dcl, $sgmltrees)
|
2000-11-15 23:32:21 +00:00
|
|
|
|
2000-11-16 03:24:48 +00:00
|
|
|
#
|
2001-05-15 20:09:47 +00:00
|
|
|
# Look for docbook2man-spec.pl
|
2000-11-16 03:24:48 +00:00
|
|
|
#
|
|
|
|
|
2001-05-15 20:09:47 +00:00
|
|
|
NOM_PATH_FILE(DOCBOOK2MANSPEC, docbook2X/docbook2man-spec.pl, $sgmltrees)
|
2000-11-16 03:24:48 +00:00
|
|
|
|
2000-02-11 18:35:11 +00:00
|
|
|
#
|
|
|
|
# Substitutions
|
|
|
|
#
|
1999-02-18 01:24:32 +00:00
|
|
|
AC_SUBST(BIND9_TOP_BUILDDIR)
|
|
|
|
BIND9_TOP_BUILDDIR=`pwd`
|
|
|
|
|
1999-10-05 19:52:30 +00:00
|
|
|
AC_SUBST(BIND9_ISC_BUILDINCLUDE)
|
2001-03-27 00:44:59 +00:00
|
|
|
AC_SUBST(BIND9_ISCCC_BUILDINCLUDE)
|
2001-02-15 04:14:15 +00:00
|
|
|
AC_SUBST(BIND9_ISCCFG_BUILDINCLUDE)
|
1999-10-05 19:52:30 +00:00
|
|
|
AC_SUBST(BIND9_DNS_BUILDINCLUDE)
|
2000-01-14 20:22:28 +00:00
|
|
|
AC_SUBST(BIND9_LWRES_BUILDINCLUDE)
|
2001-09-20 15:17:07 +00:00
|
|
|
AC_SUBST(BIND9_BIND9_BUILDINCLUDE)
|
1999-10-05 19:52:30 +00:00
|
|
|
if test "X$srcdir" != "X"; then
|
|
|
|
BIND9_ISC_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isc/include"
|
2001-03-27 00:44:59 +00:00
|
|
|
BIND9_ISCCC_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isccc/include"
|
2001-02-15 04:14:15 +00:00
|
|
|
BIND9_ISCCFG_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isccfg/include"
|
1999-10-05 19:52:30 +00:00
|
|
|
BIND9_DNS_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/dns/include"
|
2000-01-14 20:22:28 +00:00
|
|
|
BIND9_LWRES_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/lwres/include"
|
2001-09-20 15:17:07 +00:00
|
|
|
BIND9_BIND9_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/bind9/include"
|
1999-10-05 19:52:30 +00:00
|
|
|
else
|
|
|
|
BIND9_ISC_BUILDINCLUDE=""
|
2001-03-27 00:44:59 +00:00
|
|
|
BIND9_ISCCC_BUILDINCLUDE=""
|
2001-02-15 04:14:15 +00:00
|
|
|
BIND9_ISCCFG_BUILDINCLUDE=""
|
1999-10-05 19:52:30 +00:00
|
|
|
BIND9_DNS_BUILDINCLUDE=""
|
2000-01-14 20:22:28 +00:00
|
|
|
BIND9_LWRES_BUILDINCLUDE=""
|
2001-09-20 15:17:07 +00:00
|
|
|
BIND9_BIND9_BUILDINCLUDE=""
|
1999-10-05 19:52:30 +00:00
|
|
|
fi
|
|
|
|
|
2001-09-20 15:17:07 +00:00
|
|
|
AC_SUBST_FILE(BIND9_MAKE_INCLUDES)
|
|
|
|
BIND9_MAKE_INCLUDES=$BIND9_TOP_BUILDDIR/make/includes
|
1999-10-05 19:52:30 +00:00
|
|
|
|
1998-12-11 20:10:26 +00:00
|
|
|
AC_SUBST_FILE(BIND9_MAKE_RULES)
|
1999-02-18 01:24:32 +00:00
|
|
|
BIND9_MAKE_RULES=$BIND9_TOP_BUILDDIR/make/rules
|
1998-12-11 20:10:26 +00:00
|
|
|
|
2000-04-27 23:47:49 +00:00
|
|
|
. $srcdir/version
|
|
|
|
BIND9_VERSION="VERSION=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}"
|
|
|
|
AC_SUBST(BIND9_VERSION)
|
1998-12-11 20:10:26 +00:00
|
|
|
|
1999-07-03 21:07:10 +00:00
|
|
|
AC_SUBST_FILE(LIBISC_API)
|
|
|
|
LIBISC_API=$srcdir/lib/isc/api
|
|
|
|
|
2001-03-27 00:44:59 +00:00
|
|
|
AC_SUBST_FILE(LIBISCCC_API)
|
2001-03-27 01:41:07 +00:00
|
|
|
LIBISCCC_API=$srcdir/lib/isccc/api
|
2001-03-27 00:44:59 +00:00
|
|
|
|
2001-02-15 04:14:15 +00:00
|
|
|
AC_SUBST_FILE(LIBISCCFG_API)
|
|
|
|
LIBISCCFG_API=$srcdir/lib/isccfg/api
|
|
|
|
|
1999-07-03 21:07:10 +00:00
|
|
|
AC_SUBST_FILE(LIBDNS_API)
|
|
|
|
LIBDNS_API=$srcdir/lib/dns/api
|
|
|
|
|
2001-09-20 15:17:07 +00:00
|
|
|
AC_SUBST_FILE(LIBBIND9_API)
|
|
|
|
LIBBIND9_API=$srcdir/lib/bind9/api
|
|
|
|
|
2000-02-23 02:42:14 +00:00
|
|
|
AC_SUBST_FILE(LIBLWRES_API)
|
|
|
|
LIBLWRES_API=$srcdir/lib/lwres/api
|
|
|
|
|
1998-12-11 20:10:26 +00:00
|
|
|
AC_OUTPUT(
|
1998-12-12 01:34:50 +00:00
|
|
|
make/rules
|
1999-10-05 19:52:30 +00:00
|
|
|
make/includes
|
1998-12-11 20:10:26 +00:00
|
|
|
Makefile
|
1998-12-12 01:34:50 +00:00
|
|
|
make/Makefile
|
1999-07-13 20:12:47 +00:00
|
|
|
make/mkdep
|
1998-12-11 20:10:26 +00:00
|
|
|
lib/Makefile
|
|
|
|
lib/isc/Makefile
|
|
|
|
lib/isc/include/Makefile
|
|
|
|
lib/isc/include/isc/Makefile
|
1999-10-05 19:52:30 +00:00
|
|
|
lib/isc/include/isc/platform.h
|
1998-12-11 20:10:26 +00:00
|
|
|
lib/isc/unix/Makefile
|
|
|
|
lib/isc/unix/include/Makefile
|
|
|
|
lib/isc/unix/include/isc/Makefile
|
1999-06-23 02:51:39 +00:00
|
|
|
lib/isc/nls/Makefile
|
2000-08-29 18:24:01 +00:00
|
|
|
lib/isc/$thread_dir/Makefile
|
|
|
|
lib/isc/$thread_dir/include/Makefile
|
|
|
|
lib/isc/$thread_dir/include/isc/Makefile
|
2001-03-27 00:44:59 +00:00
|
|
|
lib/isccc/Makefile
|
|
|
|
lib/isccc/include/Makefile
|
|
|
|
lib/isccc/include/isccc/Makefile
|
2001-02-15 04:14:15 +00:00
|
|
|
lib/isccfg/Makefile
|
|
|
|
lib/isccfg/include/Makefile
|
|
|
|
lib/isccfg/include/isccfg/Makefile
|
1998-12-11 20:10:26 +00:00
|
|
|
lib/dns/Makefile
|
|
|
|
lib/dns/include/Makefile
|
|
|
|
lib/dns/include/dns/Makefile
|
1999-07-12 20:08:42 +00:00
|
|
|
lib/dns/sec/Makefile
|
|
|
|
lib/dns/sec/dst/Makefile
|
|
|
|
lib/dns/sec/dst/include/Makefile
|
|
|
|
lib/dns/sec/dst/include/dst/Makefile
|
2001-09-20 15:17:07 +00:00
|
|
|
lib/bind9/Makefile
|
|
|
|
lib/bind9/include/Makefile
|
|
|
|
lib/bind9/include/bind9/Makefile
|
2000-01-12 02:05:44 +00:00
|
|
|
lib/lwres/Makefile
|
|
|
|
lib/lwres/include/Makefile
|
|
|
|
lib/lwres/include/lwres/Makefile
|
2000-01-18 05:35:46 +00:00
|
|
|
lib/lwres/include/lwres/netdb.h
|
2000-02-04 06:04:16 +00:00
|
|
|
lib/lwres/include/lwres/platform.h
|
2001-01-19 22:46:27 +00:00
|
|
|
lib/lwres/man/Makefile
|
2001-07-10 18:26:12 +00:00
|
|
|
lib/lwres/unix/Makefile
|
|
|
|
lib/lwres/unix/include/Makefile
|
|
|
|
lib/lwres/unix/include/lwres/Makefile
|
|
|
|
lib/lwres/win32/Makefile
|
|
|
|
lib/lwres/win32/include/Makefile
|
|
|
|
lib/lwres/win32/include/lwres/Makefile
|
1999-05-01 01:41:14 +00:00
|
|
|
lib/tests/Makefile
|
|
|
|
lib/tests/include/Makefile
|
|
|
|
lib/tests/include/tests/Makefile
|
1998-12-11 20:10:26 +00:00
|
|
|
bin/Makefile
|
2000-12-13 06:21:42 +00:00
|
|
|
bin/check/Makefile
|
1999-01-19 19:43:25 +00:00
|
|
|
bin/named/Makefile
|
1999-10-23 01:06:31 +00:00
|
|
|
bin/named/unix/Makefile
|
2000-01-31 14:31:39 +00:00
|
|
|
bin/rndc/Makefile
|
2001-08-03 05:56:22 +00:00
|
|
|
bin/rndc/unix/Makefile
|
2000-04-20 19:09:11 +00:00
|
|
|
bin/dig/Makefile
|
2000-06-21 20:57:33 +00:00
|
|
|
bin/nsupdate/Makefile
|
1999-05-01 01:41:14 +00:00
|
|
|
bin/tests/Makefile
|
|
|
|
bin/tests/names/Makefile
|
|
|
|
bin/tests/master/Makefile
|
|
|
|
bin/tests/rbt/Makefile
|
1999-07-22 15:24:43 +00:00
|
|
|
bin/tests/db/Makefile
|
|
|
|
bin/tests/tasks/Makefile
|
|
|
|
bin/tests/timers/Makefile
|
1999-07-12 20:08:42 +00:00
|
|
|
bin/tests/dst/Makefile
|
1999-07-27 22:04:39 +00:00
|
|
|
bin/tests/mem/Makefile
|
2000-06-16 22:21:34 +00:00
|
|
|
bin/tests/net/Makefile
|
1999-11-29 20:09:23 +00:00
|
|
|
bin/tests/sockaddr/Makefile
|
2000-05-19 21:42:43 +00:00
|
|
|
bin/tests/system/Makefile
|
2000-06-13 17:34:28 +00:00
|
|
|
bin/tests/system/conf.sh
|
2000-06-21 01:31:49 +00:00
|
|
|
bin/tests/system/lwresd/Makefile
|
2001-01-11 20:46:32 +00:00
|
|
|
bin/tests/system/tkey/Makefile
|
2000-04-05 17:39:20 +00:00
|
|
|
bin/tests/headerdep_test.sh
|
2000-05-18 21:45:10 +00:00
|
|
|
bin/dnssec/Makefile
|
2000-12-01 02:16:28 +00:00
|
|
|
doc/Makefile
|
2001-01-09 21:28:28 +00:00
|
|
|
doc/arm/Makefile
|
2000-11-15 23:32:21 +00:00
|
|
|
doc/arm/nominum-docbook-html.dsl
|
2001-02-14 20:22:04 +00:00
|
|
|
doc/arm/nominum-docbook-print.dsl
|
2000-11-15 23:42:02 +00:00
|
|
|
doc/arm/validate.sh
|
2001-07-26 21:31:12 +00:00
|
|
|
doc/misc/Makefile
|
2001-06-08 19:04:10 +00:00
|
|
|
docutil/docbook2man-wrapper.sh
|
2000-06-23 20:52:35 +00:00
|
|
|
isc-config.sh
|
1998-12-11 20:10:26 +00:00
|
|
|
)
|
2000-06-23 20:52:35 +00:00
|
|
|
chmod a+x isc-config.sh
|
2000-07-04 01:20:53 +00:00
|
|
|
|
|
|
|
# Tell Emacs to edit this file in shell mode.
|
|
|
|
# Local Variables:
|
|
|
|
# mode: sh
|
|
|
|
# End:
|