configure.in revision 37aa91031830d2fc428331378f089169eb3e6dc2
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# Copyright (C) 1998-2001 Internet Software Consortium.
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# Permission to use, copy, modify, and distribute this software for any
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# purpose with or without fee is hereby granted, provided that the above
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# copyright notice and this permission notice appear in all copies.
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
7e4d75a5daeaaf8a7f559f9bd7fbf540184e235cMark Andrews# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
37d266d288410d1ead241c02a8a1dbcb0160be46Michael Graffesyscmd([sed "s/^/# /" COPYRIGHT])dnl
37d266d288410d1ead241c02a8a1dbcb0160be46Michael GraffAC_DIVERT_POP()dnl
37d266d288410d1ead241c02a8a1dbcb0160be46Michael GraffAC_REVISION($Revision: 1.270 $)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_PREREQ(2.13)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_CONFIG_HEADER(config.h)
37d266d288410d1ead241c02a8a1dbcb0160be46Michael GraffAC_CONFIG_SUBDIRS(lib/bind)
37d266d288410d1ead241c02a8a1dbcb0160be46Michael GraffAC_CANONICAL_HOST
37d266d288410d1ead241c02a8a1dbcb0160be46Michael GraffAC_PROG_MAKE_SET
d0783e645b149fcea7e7f22cd43f87b5d188b055Mark AndrewsAC_PROG_RANLIB
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_PROG_INSTALL
d0783e645b149fcea7e7f22cd43f87b5d188b055Mark AndrewsAC_SUBST(STD_CINCLUDES)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(STD_CDEFINES)
d0783e645b149fcea7e7f22cd43f87b5d188b055Mark AndrewsAC_SUBST(STD_CWARNINGS)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(CCOPT)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_PATH_PROG(AR, ar)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsARFLAGS="cruv"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(ARFLAGS)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# The POSIX ln(1) program. Non-POSIX systems may substitute
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# "copy" or something.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewscase "$AR" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_ERROR([
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewsar program not found. Please fix your PATH to include the directory in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewswhich ar resides, or set AR in the environment with the full path to ar.
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark AndrewsAC_PATH_PROGS(ETAGS, etags emacs-etags)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Some systems, e.g. RH7, have the Exuberant Ctags etags instead of
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# GNU emacs etags, and it requires the -L flag.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewsif test "X$ETAGS" != "X"; then
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_CHECKING(for Exuberant Ctags etags)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews if $ETAGS --version 2>&1 | grep 'Exuberant Ctags' >/dev/null 2>&1; then
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_RESULT(yes)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews ETAGS="$ETAGS -L"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_RESULT(no)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(ETAGS)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Perl is optional; it is used only by some of the system test scripts.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_PATH_PROGS(PERL, perl5 perl)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(PERL)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Special processing of paths depending on whether --prefix,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# --sysconfdir or --localstatedir arguments were given. What's
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# desired is some compatability with the way previous versions
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# of BIND built; they defaulted to /usr/local for most parts of
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# the installation, but named.boot/named.conf was in /etc
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# So ... if none of --prefix, --sysconfdir or --localstatedir are
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# specified, set things up that way. If --prefix is given, use
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# it for sysconfdir and localstatedir the way configure normally
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# would. To change the prefix for everything but leave named.conf
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# in /etc or named.pid in /var/run, then do this the usual configure way:
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# ./configure --prefix=/somewhere --sysconfdir=/etc
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# ./configure --prefix=/somewhere --localstatedir=/var
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# To put named.conf and named.pid in /usr/local with everything else,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# set the prefix explicitly to /usr/local even though that's the default:
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# ./configure --prefix=/usr/local
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewscase "$prefix" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case "$sysconfdir" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews '${prefix}/etc')
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews sysconfdir=/etc
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case "$localstatedir" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews '${prefix}/var')
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews localstatedir=/var
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Make sure INSTALL uses an absolute path, else it will be wrong in all
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Makefiles, since they use make/rules.in and INSTALL will be adjusted by
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# configure based on the location of the file where it is substituted.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Since in BIND9 INSTALL is only substituted into make/rules.in, an immediate
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# subdirectory of install-sh, This relative path will be wrong for all
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# directories more than one level down from install-sh.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewscase "$INSTALL" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Not all systems have dirname.
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews changequote({, })
6add3af8397580475ab9fa10ac8c1269465cff87Mark Andrews ac_dir="`echo $INSTALL | sed 's%/[^/]*$%%'`"
6add3af8397580475ab9fa10ac8c1269465cff87Mark Andrews changequote([, ])
6add3af8397580475ab9fa10ac8c1269465cff87Mark Andrews ac_prog="`echo $INSTALL | sed 's%.*/%%'`"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews test "$ac_dir" = "$ac_prog" && ac_dir=.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews test -d "$ac_dir" && ac_dir="`(cd \"$ac_dir\" && pwd)`"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews INSTALL="$ac_dir/$ac_prog"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews# On these hosts, we really want to use cc, not gcc, even if it is
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews# found. The gcc that these systems have will not correctly handle
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# However, if the user sets $CC to be something, let that override
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# our change.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewsif test "X$CC" = "X" ; then
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case "$host" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Use Sun's cc if it is available, but watch
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # out for /usr/ucb/cc; it will never be the right
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # compiler to use.
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews # If setting CC here fails, the AC_PROG_CC done
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews # below might still find gcc.
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews for ac_dir in $PATH; do
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews test -z "$ac_dir" && ac_dir=.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case "$ac_dir" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews if test -f "$ac_dir/cc"; then
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews IFS="$ac_save_ifs"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews mips-sgi-irix*)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_HEADER_STDC
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/sockio.h sys/select.h)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# UnixWare 7.1.1 with the feature supplement to the UDK compiler
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# is reported to not support "static inline" (RT #1212).
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_MSG_CHECKING(for static inline breakage)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_TRY_COMPILE(, [
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews static inline int foo1() {
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews static inline int foo2() {
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews return foo1();
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews [AC_MSG_RESULT(no)],
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews [AC_MSG_RESULT(yes)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE(inline, )])
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_TYPE_SIZE_T
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_HEADER_TIME
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_MSG_CHECKING(for long long)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_TRY_COMPILE([],[long long i = 0; return (0);],
ea023072092112a831ca7c2943387ccbb422a3f2Mark Andrews [AC_MSG_RESULT(yes)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews ISC_PLATFORM_HAVELONGLONG="#define ISC_PLATFORM_HAVELONGLONG 1"],
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews [AC_MSG_RESULT(no)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews ISC_PLATFORM_HAVELONGLONG="#undef ISC_PLATFORM_HAVELONGLONG"])
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark AndrewsAC_SUBST(ISC_PLATFORM_HAVELONGLONG)
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews# check if we need to #include sys/select.h explicitly
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrewscase $ac_cv_header_unistd_h in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_MSG_CHECKING(if unistd.h defines fd_set)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_TRY_COMPILE([
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews[fd_set read_set; return (0);],
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews [AC_MSG_RESULT(yes)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews ISC_PLATFORM_NEEDSYSSELECTH="#undef ISC_PLATFORM_NEEDSYSSELECTH"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews LWRES_PLATFORM_NEEDSYSSELECTH="#undef LWRES_PLATFORM_NEEDSYSSELECTH"],
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews [AC_MSG_RESULT(no)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case ac_cv_header_sys_select_h in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews LWRES_PLATFORM_NEEDSYSSELECTH="#define LWRES_PLATFORM_NEEDSYSSELECTH 1"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_ERROR([need either working unistd.h or sys/select.h])
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case ac_cv_header_sys_select_h in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews LWRES_PLATFORM_NEEDSYSSELECTH="#define LWRES_PLATFORM_NEEDSYSSELECTH 1"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_ERROR([need either unistd.h or sys/select.h])
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(ISC_PLATFORM_NEEDSYSSELECTH)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(LWRES_PLATFORM_NEEDSYSSELECTH)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Find the machine's endian flavor.
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark AndrewsAC_C_BIGENDIAN
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews# was --with-openssl specified?
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_MSG_CHECKING(for compatible OpenSSL library)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_ARG_WITH(openssl,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews[ --with-openssl=PATH Specify path for system-supplied openssl
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews (required for DNSSEC)],
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_openssl="$withval", use_openssl="no")
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# If the user didn't specify where openssl is, and we didn't find or it
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews# is incompatible with our code, use our internal one.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# XXX This appears to assume that the user specified path is correct,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# and does no checking.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewscase "$use_openssl" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_RESULT(no)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews DST_OPENSSL_INC=""
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews USE_OPENSSL=""
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_ERROR([--with-openssl must specify a path])
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews USE_OPENSSL='-DOPENSSL'
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews DST_OPENSSL_INC="-L$use_openssl/include"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews DNS_OPENSSL_LIBS="-L$use_openssl/lib -lcrypto"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews AC_MSG_RESULT(using openssl from $use_openssl/lib and $use_openssl/include)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# This would include the system openssl path (and linker options to use
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# it as needed) if it is found.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(DST_OPENSSL_INC)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(DNS_OPENSSL_LIBS)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(USE_OPENSSL)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# was --with-gssapi specified?
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews#AC_MSG_CHECKING(for GSSAPI library)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews#AC_ARG_WITH(gssapi,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews#[ --with-gssapi=PATH Specify path for system-supplied GSSAPI],
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# use_gssapi="$withval", use_gssapi="no")
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews#case "$use_gssapi" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# USE_GSSAPI=''
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# DST_GSSAPI_INC=''
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# DNS_GSSAPI_LIBS=''
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# AC_MSG_RESULT(not specified)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# AC_MSG_ERROR([--with-gssapi must specify a path])
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# USE_GSSAPI='-DGSSAPI'
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# DST_GSSAPI_INC="-I$use_gssapi/include"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# DNS_GSSAPI_LIBS="-L$use_gssapi/lib -lgssapi_krb5"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# AC_MSG_RESULT(using gssapi from $use_gssapi/lib and $use_gssapi/include)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsUSE_GSSAPI=''
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsDST_GSSAPI_INC=''
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsDNS_GSSAPI_LIBS=''
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(USE_GSSAPI)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(DST_GSSAPI_INC)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(DNS_GSSAPI_LIBS)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# was --with-randomdev specified?
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_MSG_CHECKING(for random device)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_ARG_WITH(randomdev,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews[ --with-randomdev=PATH Specify path for random device],
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_randomdev="$withval", use_randomdev="unspec")
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewscase "$use_randomdev" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case "$host" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_FILE($devrandom,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE_UNQUOTED(PATH_RANDOMDEV,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews "$devrandom"),)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_ERROR([--with-randomdev must specify a path])
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_RESULT(disabled)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE_UNQUOTED(PATH_RANDOMDEV, "$use_randomdev")
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_RESULT(using "$use_randomdev")
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Begin pthreads checking.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# First, decide whether to use multithreading or not.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Enable multithreading by default on systems where it is known
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# to work well, and where debugging of multithreaded programs
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews# is supported.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_MSG_CHECKING(whether to build with thread support)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewscase $host in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=true ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews[*-solaris-2[0-6]])
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Thread signals are broken on Solaris 2.6; they are sometimes
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # delivered to the wrong thread.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=false ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews*-solaris-2*)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=true ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=true ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=true ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=true ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews*-sco-sysv*uw*)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=false ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Socket I/O optimizations introduced in 9.2 expose a
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # bug in unproven-pthreads; see PR #12650
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=false ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # OpenBSD users have reported that named dumps core on
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # startup when built with threads.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=false ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=false ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Thread signals do not appear to work reliably on BSDI.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=false ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Threads are disabled on Linux by default because most
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Linux kernels produce unusable core dumps from multithreaded
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # programs, and because of limitations in setuid().
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=false ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=false ;;
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_ARG_ENABLE(threads,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews [ --enable-threads enable multithreading])
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewscase "$enable_threads" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_threads=true
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews use_threads=false
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Use system-dependent default
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_ERROR([--enable-threads takes yes or no])
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewsif $use_threads
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_RESULT(yes)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_RESULT(no)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewsif $use_threads
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Search for / configure pthreads in a system-dependent fashion.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case "$host" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # NetBSD has multiple pthreads implementations. The
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # recommended one to use is "unproven-pthreads". The
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # older "mit-pthreads" may also work on some NetBSD
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # versions. The PTL2 thread library does not
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # currently work with bind9, but can be chosen with
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # the --with-ptl2 option for those who wish to
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # experiment with it.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_CHECKING(which NetBSD thread library to use)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_ARG_WITH(ptl2,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews[ --with-ptl2 on NetBSD, use the ptl2 thread library (experimental)],
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews use_ptl2="$withval", use_ptl2="no")
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews : ${LOCALBASE:=/usr/pkg}
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews if test "X$use_ptl2" = "Xyes"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_RESULT(PTL2)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_WARN(
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews[linking with PTL2 is highly experimental and not expected to work])
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_RESULT(none)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_ERROR("could not find thread libraries")
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews if $use_threads
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews lib2="-lpthread -lm -lgcc -lpthread"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews LIBS="$lib1 $lib2 $LIBS"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews CPPFLAGS="$CPPFLAGS -I$pkg/include"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews STD_CINCLUDES="$STD_CINCLUDES -I$pkg/include"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_LIB(pthread, pthread_create,,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_LIB(pthread, __pthread_create,,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_LIB(pthread, __pthread_create_system,,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_LIB(c_r, pthread_create,,
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews AC_CHECK_LIB(c, pthread_create,,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_ERROR("could not find thread libraries"))))))
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewsif $use_threads
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # We'd like to use sigwait() too
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_LIB(c, sigwait,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE(HAVE_SIGWAIT),
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_LIB(pthread, sigwait,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE(HAVE_SIGWAIT),
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_LIB(pthread, _Psigwait,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE(HAVE_SIGWAIT),))
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_FUNC(pthread_attr_getstacksize,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE(HAVE_PTHREAD_ATTR_GETSTACKSIZE),)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Additional OS-specific issues related to pthreads and sigwait.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case "$host" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # One more place to look for sigwait.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_LIB(c_r, sigwait, AC_DEFINE(HAVE_SIGWAIT),)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # BSDI 3.0 through 4.0.1 needs pthread_init() to be
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # called before certain pthreads calls. This is deprecated
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews *-bsdi3.*|*-bsdi4.0*)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE(NEED_PTHREAD_INIT)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # LinuxThreads requires some changes to the way we
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # deal with signals.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE(HAVE_LINUXTHREADS)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Ensure the right sigwait() semantics on Solaris and make
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews # sure we call pthread_setconcurrency.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE(_POSIX_PTHREAD_SEMANTICS)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_FUNC(pthread_setconcurrency,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE(CALL_PTHREAD_SETCONCURRENCY))
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # UnixWare does things its own way.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews *-sco-sysv*uw*)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_DEFINE(HAVE_UNIXWARE_SIGWAIT)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Look for sysconf to allow detection of the number of processors.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_CHECK_FUNC(sysconf, AC_DEFINE(HAVE_SYSCONF),)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews if test "X$GCC" = "Xyes"; then
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case "$host" in
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews CC="$CC -pthread"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews CCOPT="$CCOPT -pthread"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews CC="$CC -pthread"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews CCOPT="$CCOPT -pthread"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews LIBS="$LIBS -lthread"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case $host in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews CC="$CC -pthread"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews CCOPT="$CCOPT -pthread"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews CC="$CC -mt"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews CCOPT="$CCOPT -mt"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews *-sco-sysv*uw*)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews CC="$CC -Kthread"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews CCOPT="$CCOPT -Kthread"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews ALWAYS_DEFINES="-D_REENTRANT"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews ISC_PLATFORM_USETHREADS="#define ISC_PLATFORM_USETHREADS 1"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews thread_dir=pthreads
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews ISC_PLATFORM_USETHREADS="#undef ISC_PLATFORM_USETHREADS"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews thread_dir=nothreads
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews ALWAYS_DEFINES=""
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(ALWAYS_DEFINES)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(ISC_PLATFORM_USETHREADS)
88ed7381f16a72409061875ddeda598f477e5ef6Michael GraffISC_THREAD_DIR=$thread_dir
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(ISC_THREAD_DIR)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# flockfile is usually provided by pthreads, but we may want to use it
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# even if compiled with --disable-threads. getc_unlocked might also not
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# be defined.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_CHECK_FUNC(flockfile, AC_DEFINE(HAVE_FLOCKFILE),)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_CHECK_FUNC(getc_unlocked, AC_DEFINE(HAVE_GETCUNLOCKED),)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Indicate what the final decision was regarding threads.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_MSG_CHECKING(whether to build with threads)
c4cc75482fd6846163cafa79e98abb11bcfaf3d3Mark Andrewsif $use_threads; then
c4cc75482fd6846163cafa79e98abb11bcfaf3d3Mark Andrews AC_MSG_RESULT(yes)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews AC_MSG_RESULT(no)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# End of pthreads stuff.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Additional compiler settings.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsMKDEPCC="$CC"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsMKDEPCFLAGS="-M"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsIRIX_DNSSEC_WARNINGS_HACK=""
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewsif test "X$GCC" = "Xyes"; then
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews STD_CWARNINGS="$STD_CWARNINGS -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case $host in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews CC="$CC -std"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews CCOPT="$CCOPT -std"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews MKDEPCC="$CC"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews CC="$CC -Ae -z"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # The version of the C compiler that constantly warns about
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # 'const' as well as alignment issues is unfortunately not
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # able to be discerned via the version of the operating
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # system, nor does cc have a version flag.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews case "`$CC +W 123 2>&1`" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews *Unknown?option*)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews STD_CWARNINGS="+w1"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Turn off the pointlessly noisy warnings.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews STD_CWARNINGS="+w1 +W 474,530"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews CCOPT="$CCOPT -Ae -z"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews LIBS="-Wl,+vnocompatwarnings $LIBS"
1a03b5e68553c37e9cc0097368909dfc37fb8cefMark Andrews MKDEPPROG='cc -Ae -E -Wp,-M >/dev/null 2>>$TMP'
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews *-sgi-irix*)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews STD_CWARNINGS="-fullwarn -woff 1209"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # Silence more than 250 instances of
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # "prototyped function redeclared without prototype"
88ed7381f16a72409061875ddeda598f477e5ef6Michael Graff # and 11 instances of
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews # "variable ... was set but never used"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews IRIX_DNSSEC_WARNINGS_HACK="-woff 1692,1552"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews MKDEPCFLAGS="-xM"
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews *-sco-sysv*uw*)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(MKDEPCC)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(MKDEPCFLAGS)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_SUBST(MKDEPPROG)
3b5362b0730c43f1d1c4dace7b1213c6e2a80032Mark AndrewsAC_SUBST(IRIX_DNSSEC_WARNINGS_HACK)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark AndrewsAC_CHECK_FUNC(catgets, AC_DEFINE(HAVE_CATGETS),)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# -lxnet buys us one big porting headache... standards, gotta love 'em.
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# AC_CHECK_LIB(xnet, socket, ,
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# AC_CHECK_LIB(socket, socket)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# AC_CHECK_LIB(nsl, inet_ntoa)
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews# Use this for now, instead:
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrewscase "$host" in
7d2b275f7e9238e2c709737601f6260b5a9a4ee1Mark Andrews mips-sgi-irix*)
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>
#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 <netinet/in.h>
#include <arpa/inet.h>],
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"
#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>
AC_MSG_CHECKING(for h_errno in netdb.h)
#include <netdb.h>],
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/socket.h>
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS print.c"
AC_CHECK_HEADERS(linux/capability.h)
AC_CHECK_HEADERS(sys/prctl.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>.
# Subroutine for searching for an ordinary file (e.g., a stylesheet)
# Look for the HTML stylesheet html/docbook.dsl, used for
# NetBSD /usr/pkg/share/docbook/dsssl/modular/
# FreeBSD /usr/local/share/docbook/dsssl/modular/
# Linux /usr/local/share/dsssl/docbook/
# Ditto for the print stylesheet print/docbook.dsl.
NOM_PATH_FILE(HTMLSTYLE, html/docbook.dsl, $stylepath)
NOM_PATH_FILE(PRINTSTYLE, print/docbook.dsl, $stylepath)
NOM_PATH_FILE(XMLDCL, docbook/dsssl/modular/dtds/decls/xml.dcl, $sgmltrees)
# Look for docbook2man-spec.pl
NOM_PATH_FILE(DOCBOOK2MANSPEC, docbook2X/docbook2man-spec.pl, $sgmltrees)
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_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
LIBLWRES_API=$srcdir/lib/lwres/api
chmod a+x isc-config.sh