1 # Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
2 # Copyright (C) 1998-2003 Internet Software Consortium.
4 # Permission to use, copy, modify, and/or distribute this software for any
5 # purpose with or without fee is hereby granted, provided that the above
6 # copyright notice and this permission notice appear in all copies.
8 # THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
9 # REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10 # AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
11 # INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12 # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
13 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14 # PERFORMANCE OF THIS SOFTWARE.
18 esyscmd([sed "s/^/# /" COPYRIGHT])dnl
21 AC_REVISION($Revision: 1.457.26.16 $)
23 AC_INIT(lib/dns/name.c)
26 AC_CONFIG_HEADER(config.h)
37 # Just set the maximum command line length for sunos as it otherwise
38 # takes a exceptionally long time to work it out. Required for libtool.
39 lt_cv_sys_max_cmd_len=4096;
47 AC_SUBST(STD_CINCLUDES)
48 AC_SUBST(STD_CDEFINES)
49 AC_SUBST(STD_CWARNINGS)
52 # Warn if the user specified libbind, which is now deprecated
53 AC_ARG_ENABLE(libbind, [ --enable-libbind deprecated])
55 case "$enable_libbind" in
57 AC_MSG_ERROR(['libbind' is no longer part of the BIND 9 distribution.
58 It is available from http://www.isc.org as a separate download.])
66 # Make very sure that these are the first files processed by
67 # config.status, since we use the processed output as the input for
68 # AC_SUBST_FILE() substitutions in other files.
70 AC_CONFIG_FILES([make/rules make/includes])
77 # The POSIX ln(1) program. Non-POSIX systems may substitute
78 # "copy" or something.
85 ar program not found. Please fix your PATH to include the directory in
86 which ar resides, or set AR in the environment with the full path to ar.
95 AC_PATH_PROGS(ETAGS, etags emacs-etags)
98 # Some systems, e.g. RH7, have the Exuberant Ctags etags instead of
99 # GNU emacs etags, and it requires the -L flag.
101 if test "X$ETAGS" != "X"; then
102 AC_MSG_CHECKING(for Exuberant Ctags etags)
103 if $ETAGS --version 2>&1 | grep 'Exuberant Ctags' >/dev/null 2>&1; then
113 # Perl is optional; it is used only by some of the system test scripts.
115 AC_PATH_PROGS(PERL, perl5 perl)
119 # Special processing of paths depending on whether --prefix,
120 # --sysconfdir or --localstatedir arguments were given. What's
121 # desired is some compatibility with the way previous versions
122 # of BIND built; they defaulted to /usr/local for most parts of
123 # the installation, but named.boot/named.conf was in /etc
124 # and named.pid was in /var/run.
126 # So ... if none of --prefix, --sysconfdir or --localstatedir are
127 # specified, set things up that way. If --prefix is given, use
128 # it for sysconfdir and localstatedir the way configure normally
129 # would. To change the prefix for everything but leave named.conf
130 # in /etc or named.pid in /var/run, then do this the usual configure way:
131 # ./configure --prefix=/somewhere --sysconfdir=/etc
132 # ./configure --prefix=/somewhere --localstatedir=/var
134 # To put named.conf and named.pid in /usr/local with everything else,
135 # set the prefix explicitly to /usr/local even though that's the default:
136 # ./configure --prefix=/usr/local
140 case "$sysconfdir" in
145 case "$localstatedir" in
154 # Make sure INSTALL uses an absolute path, else it will be wrong in all
155 # Makefiles, since they use make/rules.in and INSTALL will be adjusted by
156 # configure based on the location of the file where it is substituted.
157 # Since in BIND9 INSTALL is only substituted into make/rules.in, an immediate
158 # subdirectory of install-sh, This relative path will be wrong for all
159 # directories more than one level down from install-sh.
166 # Not all systems have dirname.
169 ac_dir="`echo $INSTALL | sed 's%/[^/]*$%%'`"
172 ac_prog="`echo $INSTALL | sed 's%.*/%%'`"
173 test "$ac_dir" = "$ac_prog" && ac_dir=.
174 test -d "$ac_dir" && ac_dir="`(cd \"$ac_dir\" && pwd)`"
175 INSTALL="$ac_dir/$ac_prog"
180 # On these hosts, we really want to use cc, not gcc, even if it is
181 # found. The gcc that these systems have will not correctly handle
184 # However, if the user sets $CC to be something, let that override
187 if test "X$CC" = "X" ; then
193 # Use Sun's cc if it is available, but watch
194 # out for /usr/ucb/cc; it will never be the right
197 # If setting CC here fails, the AC_PROG_CC done
198 # below might still find gcc.
199 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
200 for ac_dir in $PATH; do
201 test -z "$ac_dir" && ac_dir=.
207 if test -f "$ac_dir/cc"; then
228 # gcc's optimiser is broken at -02 for ultrasparc
230 if test "$ac_env_CFLAGS_set" != set -a "X$GCC" = "Xyes"; then
239 # OS dependent CC flags
242 # OSF 5.0: recv/send are only available with -D_POSIX_PII_SOCKET or
243 # -D_XOPEN_SOURCE_EXTENDED.
245 STD_CDEFINES="$STD_CDEFINES -D_POSIX_PII_SOCKET"
246 CPPFLAGS="$CPPFLAGS -D_POSIX_PII_SOCKET"
248 #HP-UX: need -D_XOPEN_SOURCE_EXTENDED and -lxnet for CMSG macros
250 STD_CDEFINES="$STD_CDEFINES -D_XOPEN_SOURCE_EXTENDED"
251 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
254 # Solaris: need -D_XPG4_2 and -D__EXTENSIONS__ for CMSG macros
256 STD_CDEFINES="$STD_CDEFINES -D_XPG4_2 -D__EXTENSIONS__"
257 CPPFLAGS="$CPPFLAGS -D_XPG4_2 -D__EXTENSIONS__"
259 # POSIX doesn't include the IPv6 Advanced Socket API and glibc hides
260 # parts of the IPv6 Advanced Socket API as a result. This is stupid
261 # as it breaks how the two halves (Basic and Advanced) of the IPv6
262 # Socket API were designed to be used but we have to live with it.
263 # Define _GNU_SOURCE to pull in the IPv6 Advanced Socket API.
265 STD_CDEFINES="$STD_CDEFINES -D_GNU_SOURCE"
266 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
272 AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/sockio.h sys/select.h sys/param.h sys/sysctl.h net/if6.h,,,
273 [$ac_includes_default
274 #ifdef HAVE_SYS_PARAM_H
275 # include <sys/param.h>
282 AC_CHECK_FUNC(sysctlbyname, AC_DEFINE(HAVE_SYSCTLBYNAME))
285 # UnixWare 7.1.1 with the feature supplement to the UDK compiler
286 # is reported to not support "static inline" (RT #1212).
288 AC_MSG_CHECKING(for static inline breakage)
293 static inline int foo1() {
297 static inline int foo2() {
302 AC_DEFINE(inline, )])
305 AC_CHECK_TYPE(ssize_t, int)
306 AC_CHECK_TYPE(uintptr_t,unsigned long)
307 AC_CHECK_TYPE(socklen_t,
308 [AC_DEFINE(ISC_SOCKADDR_LEN_T, socklen_t)],
312 #include <sys/types.h>
313 #include <sys/socket.h>
314 int getsockname(int, struct sockaddr *, size_t *);
316 [AC_DEFINE(ISC_SOCKADDR_LEN_T, size_t)],
317 [AC_DEFINE(ISC_SOCKADDR_LEN_T, int)])
320 #include <sys/types.h>
321 #include <sys/socket.h>
323 AC_SUBST(ISC_SOCKADDR_LEN_T)
325 AC_MSG_CHECKING(for long long)
326 AC_TRY_COMPILE([],[long long i = 0; return (0);],
328 ISC_PLATFORM_HAVELONGLONG="#define ISC_PLATFORM_HAVELONGLONG 1"],
330 ISC_PLATFORM_HAVELONGLONG="#undef ISC_PLATFORM_HAVELONGLONG"])
331 AC_SUBST(ISC_PLATFORM_HAVELONGLONG)
334 # check if we have lifconf
336 AC_MSG_CHECKING(for struct lifconf)
338 #include <sys/types.h>
339 #include <sys/socket.h>
343 struct lifconf lifconf;
344 lifconf.lifc_len = 0;
348 ISC_PLATFORM_HAVELIFCONF="#define ISC_PLATFORM_HAVELIFCONF 1"],
350 ISC_PLATFORM_HAVELIFCONF="#undef ISC_PLATFORM_HAVELIFCONF"])
351 AC_SUBST(ISC_PLATFORM_HAVELIFCONF)
354 # check if we have kqueue
356 AC_ARG_ENABLE(kqueue,
357 [ --enable-kqueue use BSD kqueue when available [[default=yes]]],
358 want_kqueue="$enableval", want_kqueue="yes")
361 AC_CHECK_FUNC(kqueue, ac_cv_have_kqueue=yes, ac_cv_have_kqueue=no)
362 case $ac_cv_have_kqueue in
364 ISC_PLATFORM_HAVEKQUEUE="#define ISC_PLATFORM_HAVEKQUEUE 1"
367 ISC_PLATFORM_HAVEKQUEUE="#undef ISC_PLATFORM_HAVEKQUEUE"
372 ISC_PLATFORM_HAVEKQUEUE="#undef ISC_PLATFORM_HAVEKQUEUE"
375 AC_SUBST(ISC_PLATFORM_HAVEKQUEUE)
378 # check if we have epoll. Linux kernel 2.4 has epoll_create() which fails,
379 # so we need to try running the code, not just test its existence.
382 [ --enable-epoll use Linux epoll when available [[default=auto]]],
383 want_epoll="$enableval", want_epoll="auto")
386 AC_MSG_CHECKING(epoll support)
388 #include <sys/epoll.h>
390 if (epoll_create(1) < 0)
396 ISC_PLATFORM_HAVEEPOLL="#define ISC_PLATFORM_HAVEEPOLL 1"],
398 ISC_PLATFORM_HAVEEPOLL="#undef ISC_PLATFORM_HAVEEPOLL"])
401 ISC_PLATFORM_HAVEEPOLL="#define ISC_PLATFORM_HAVEEPOLL 1"
404 ISC_PLATFORM_HAVEEPOLL="#undef ISC_PLATFORM_HAVEEPOLL"
407 AC_SUBST(ISC_PLATFORM_HAVEEPOLL)
410 # check if we support /dev/poll
412 AC_ARG_ENABLE(devpoll,
413 [ --enable-devpoll use /dev/poll when available [[default=yes]]],
414 want_devpoll="$enableval", want_devpoll="yes")
415 case $want_devpoll in
417 AC_CHECK_HEADERS(sys/devpoll.h,
418 ISC_PLATFORM_HAVEDEVPOLL="#define ISC_PLATFORM_HAVEDEVPOLL 1"
420 ISC_PLATFORM_HAVEDEVPOLL="#undef ISC_PLATFORM_HAVEDEVPOLL"
424 ISC_PLATFORM_HAVEDEVPOLL="#undef ISC_PLATFORM_HAVEDEVPOLL"
427 AC_SUBST(ISC_PLATFORM_HAVEDEVPOLL)
430 # check if we need to #include sys/select.h explicitly
432 case $ac_cv_header_unistd_h in
434 AC_MSG_CHECKING(if unistd.h or sys/types.h defines fd_set)
436 #include <sys/types.h> /* Ultrix */
437 #include <unistd.h>],
438 [fd_set read_set; return (0);],
440 ISC_PLATFORM_NEEDSYSSELECTH="#undef ISC_PLATFORM_NEEDSYSSELECTH"
441 LWRES_PLATFORM_NEEDSYSSELECTH="#undef LWRES_PLATFORM_NEEDSYSSELECTH"],
443 case $ac_cv_header_sys_select_h in
445 ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
446 LWRES_PLATFORM_NEEDSYSSELECTH="#define LWRES_PLATFORM_NEEDSYSSELECTH 1"
449 AC_MSG_ERROR([need either working unistd.h or sys/select.h])
455 case $ac_cv_header_sys_select_h in
457 ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
458 LWRES_PLATFORM_NEEDSYSSELECTH="#define LWRES_PLATFORM_NEEDSYSSELECTH 1"
461 AC_MSG_ERROR([need either unistd.h or sys/select.h])
466 AC_SUBST(ISC_PLATFORM_NEEDSYSSELECTH)
467 AC_SUBST(LWRES_PLATFORM_NEEDSYSSELECTH)
470 # Find the machine's endian flavor.
476 # was --with-openssl specified?
479 AC_MSG_CHECKING(for OpenSSL library)
481 [ --with-openssl[=PATH] Build with OpenSSL [yes|no|path].
482 (Required for DNSSEC)],
483 use_openssl="$withval", use_openssl="auto")
485 openssldirs="/usr /usr/local /usr/local/ssl /usr/pkg /usr/sfw"
486 if test "$use_openssl" = "auto"
488 for d in $openssldirs
490 if test -f $d/include/openssl/opensslv.h
497 case "$use_openssl" in
507 [OpenSSL was not found in any of $openssldirs; use --with-openssl=/path
508 If you don't want OpenSSL, use --without-openssl])
511 if test "$use_openssl" = "yes"
513 # User did not specify a path - guess it
514 for d in $openssldirs
516 if test -f $d/include/openssl/opensslv.h
522 if test "$use_openssl" = "yes"
524 AC_MSG_RESULT(not found)
526 [OpenSSL was not found in any of $openssldirs; use --with-openssl=/path])
528 elif ! test -f "$use_openssl"/include/openssl/opensslv.h
530 AC_MSG_ERROR(["$use_openssl/include/openssl/opensslv.h" not found])
532 USE_OPENSSL='-DOPENSSL'
533 if test "$use_openssl" = "/usr"
536 DNS_OPENSSL_LIBS="-lcrypto"
538 DST_OPENSSL_INC="-I$use_openssl/include"
541 DNS_OPENSSL_LIBS="-L$use_openssl/lib -R$use_openssl/lib -lcrypto"
544 DNS_OPENSSL_LIBS="-L$use_openssl/lib -Wl,+b: -lcrypto"
548 # Apple's ld seaches for serially for dynamic
549 # then static libraries. This means you can't
550 # use -L to override dynamic system libraries
551 # with static ones when linking. Instead
552 # we specify a absolute path.
554 if test -f "$use_openssl/lib/libcrypto.dylib"
556 DNS_OPENSSL_LIBS="-L$use_openssl/lib -lcrypto"
558 DNS_OPENSSL_LIBS="$use_openssl/lib/libcrypto.a"
562 DNS_OPENSSL_LIBS="-L$use_openssl/lib -lcrypto"
566 AC_MSG_RESULT(using OpenSSL from $use_openssl/lib and $use_openssl/include)
568 saved_cflags="$CFLAGS"
570 CFLAGS="$CFLAGS $DST_OPENSSL_INC"
571 LIBS="$LIBS $DNS_OPENSSL_LIBS"
572 AC_MSG_CHECKING(whether linking with OpenSSL works)
574 #include <openssl/err.h>
580 [AC_MSG_RESULT(yes)],
582 AC_MSG_ERROR(Could not run test program using OpenSSL from
583 $use_openssl/lib and $use_openssl/include.
584 Please check the argument to --with-openssl and your
585 shared library configuration (e.g., LD_LIBRARY_PATH).)],
586 [AC_MSG_RESULT(assuming it does work on target platform)])
588 AC_MSG_CHECKING(whether linking with OpenSSL requires -ldl)
590 #include <openssl/err.h>],
591 [ DSO_METHOD_dlfcn(); ],
595 #include <openssl/err.h>
596 ],[ DSO_METHOD_dlfcn(); ],
598 DNS_OPENSSL_LIBS="$DNS_OPENSSL_LIBS -ldl"
600 [AC_MSG_RESULT(unknown)
601 AC_MSG_ERROR(OpenSSL has unsupported dynamic loading)],
602 [AC_MSG_RESULT(assuming it does work on target platform)])
604 [AC_MSG_RESULT(assuming it does work on target platform)]
607 AC_ARG_ENABLE(openssl-version-check,
608 [AC_HELP_STRING([--enable-openssl-version-check],
609 [Check OpenSSL Version @<:@default=yes@:>@])])
610 case "$enable_openssl_version_check" in
612 AC_MSG_CHECKING(OpenSSL library version)
615 #include <openssl/opensslv.h>
617 if ((OPENSSL_VERSION_NUMBER >= 0x009070cfL &&
618 OPENSSL_VERSION_NUMBER < 0x00908000L) ||
619 OPENSSL_VERSION_NUMBER >= 0x0090804fL)
621 printf("\n\nFound OPENSSL_VERSION_NUMBER %#010x\n",
622 OPENSSL_VERSION_NUMBER);
623 printf("Require OPENSSL_VERSION_NUMBER 0x009070cf or greater (0.9.7l)\n"
624 "Require OPENSSL_VERSION_NUMBER 0x0090804f or greater (0.9.8d)\n\n");
629 [AC_MSG_RESULT(not compatible)
632 [AC_MSG_RESULT(assuming target platform has compatible version)])
635 AC_MSG_RESULT(Skipped OpenSSL version check)
639 AC_MSG_CHECKING(for OpenSSL DSA support)
640 if test -f $use_openssl/include/openssl/dsa.h
642 AC_DEFINE(HAVE_OPENSSL_DSA)
647 AC_CHECK_FUNCS(EVP_sha256 EVP_sha512)
648 CFLAGS="$saved_cflags"
655 # This would include the system openssl path (and linker options to use
656 # it as needed) if it is found.
659 AC_SUBST(USE_OPENSSL)
660 AC_SUBST(DST_OPENSSL_INC)
661 DNS_CRYPTO_LIBS="$DNS_CRYPTO_LIBS $DNS_OPENSSL_LIBS"
664 # PKCS11 (aka crypto hardware) support
666 # This works only with the right OpenSSL with PKCS11 engine!
669 AC_MSG_CHECKING(for PKCS11 support)
671 [ --with-pkcs11 Build with PKCS11 support],
672 use_pkcs11="yes", use_pkcs11="no")
674 case "$use_pkcs11" in
676 AC_MSG_RESULT(disabled)
680 AC_MSG_RESULT(using OpenSSL with PKCS11 support)
681 USE_PKCS11='-DUSE_PKCS11'
687 AC_MSG_CHECKING(for GSSAPI library)
689 [ --with-gssapi=PATH Specify path for system-supplied GSSAPI],
690 use_gssapi="$withval", use_gssapi="no")
692 gssapidirs="/usr/local /usr/pkg /usr/kerberos /usr"
693 if test "$use_gssapi" = "yes"
697 if test -f $d/include/gssapi/gssapi.h -o -f $d/include/gssapi.h
705 case "$use_gssapi" in
707 AC_MSG_RESULT(disabled)
711 AC_MSG_ERROR([--with-gssapi must specify a path])
714 AC_MSG_RESULT(looking in $use_gssapi/lib)
715 USE_GSSAPI='-DGSSAPI'
716 saved_cppflags="$CPPFLAGS"
717 CPPFLAGS="-I$use_gssapi/include $CPPFLAGS"
718 AC_CHECK_HEADERS(gssapi.h gssapi/gssapi.h,
719 [ISC_PLATFORM_GSSAPIHEADER="#define ISC_PLATFORM_GSSAPIHEADER <$ac_header>"])
721 if test "$ISC_PLATFORM_GSSAPIHEADER" = ""; then
722 AC_MSG_ERROR([gssapi.h not found])
725 CPPFLAGS="$saved_cppflags"
728 # XXXDCL This probably doesn't work right on all systems.
729 # It will need to be worked on as problems become evident.
731 # Essentially the problems here relate to two different
732 # areas. The first area is building with either KTH
733 # or MIT Kerberos, particularly when both are present on
734 # the machine. The other is static versus dynamic linking.
736 # On the KTH vs MIT issue, Both have libkrb5 that can mess
737 # up the works if one implementation ends up trying to
738 # use the other's krb. This is unfortunately a situation
739 # that very easily arises.
741 # Dynamic linking when the dependency information is built
742 # into MIT's libgssapi_krb5 or KTH's libgssapi magically makes
743 # all such problems go away, but when that setup is not
744 # present, because either the dynamic libraries lack
745 # dependencies or static linking is being done, then the
746 # problems start to show up.
750 "-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err" \
751 "-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv" \
753 "-lgssapi -lkrb5 -ldes -lcrypt -lasn1 -lroken -lcom_err" \
754 "-lgssapi -lkrb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
757 # Note that this does not include $saved_libs, because
758 # on FreeBSD machines this configure script has added
759 # -L/usr/local/lib to LIBS, which can make the
760 # -lgssapi_krb5 test succeed with shared libraries even
761 # when you are trying to build with KTH in /usr/lib.
762 LIBS="-L$use_gssapi/lib $TRY_LIBS"
763 AC_MSG_CHECKING(linking as $TRY_LIBS)
764 AC_TRY_LINK( , [gss_acquire_cred();],
765 gssapi_linked=yes, gssapi_linked=no)
766 case $gssapi_linked in
767 yes) AC_MSG_RESULT(yes); break ;;
768 no) AC_MSG_RESULT(no) ;;
772 case $gssapi_linked in
773 no) AC_MSG_ERROR(could not determine proper GSSAPI linkage) ;;
777 # XXXDCL Major kludge. Tries to cope with KTH in /usr/lib
778 # but MIT in /usr/local/lib and trying to build with KTH.
779 # /usr/local/lib can end up earlier on the link lines.
780 # Like most kludges, this one is not only inelegant it
781 # is also likely to be the wrong thing to do at least as
782 # many times as it is the right thing. Something better
785 if test "$use_gssapi" = "/usr" -a \
786 -f /usr/local/lib/libkrb5.a; then
790 case "$FIX_KTH_VS_MIT" in
792 case "$enable_static_linking" in
793 yes) gssapi_lib_suffix=".a" ;;
794 *) gssapi_lib_suffix=".so" ;;
803 sed -e s%^-l%$use_gssapi/lib/lib% \
804 -e s%$%$gssapi_lib_suffix%`
805 NEW_LIBS="$NEW_LIBS $new_lib"
808 AC_MSG_ERROR([KTH vs MIT Kerberos confusion!])
816 DST_GSSAPI_INC="-I$use_gssapi/include"
817 DNS_GSSAPI_LIBS="$LIBS"
819 AC_MSG_RESULT(using GSSAPI from $use_gssapi/lib and $use_gssapi/include)
824 AC_SUBST(ISC_PLATFORM_HAVEGSSAPI)
825 AC_SUBST(ISC_PLATFORM_GSSAPIHEADER)
828 AC_SUBST(DST_GSSAPI_INC)
829 AC_SUBST(DNS_GSSAPI_LIBS)
830 DNS_CRYPTO_LIBS="$DNS_GSSAPI_LIBS $DNS_CRYPTO_LIBS"
833 # Applications linking with libdns also need to link with these libraries.
836 AC_SUBST(DNS_CRYPTO_LIBS)
839 # was --with-randomdev specified?
841 AC_MSG_CHECKING(for random device)
842 AC_ARG_WITH(randomdev,
843 [ --with-randomdev=PATH Specify path for random device],
844 use_randomdev="$withval", use_randomdev="unspec")
846 case "$use_randomdev" in
850 devrandom=/dev/arandom
853 devrandom=/dev/random
856 AC_MSG_RESULT($devrandom)
857 AC_CHECK_FILE($devrandom,
858 AC_DEFINE_UNQUOTED(PATH_RANDOMDEV,
862 AC_MSG_ERROR([--with-randomdev must specify a path])
865 AC_MSG_RESULT(disabled)
868 AC_DEFINE_UNQUOTED(PATH_RANDOMDEV, "$use_randomdev")
869 AC_MSG_RESULT(using "$use_randomdev")
874 # Do we have arc4random() ?
876 AC_CHECK_FUNC(arc4random, AC_DEFINE(HAVE_ARC4RANDOM))
878 sinclude(config.threads.in)dnl
882 if test "X$GCC" = "Xyes"; then
886 CCOPT="$CCOPT -pthread"
887 STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
891 CCOPT="$CCOPT -pthread"
894 LIBS="$LIBS -lthread"
897 STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
904 CCOPT="$CCOPT -pthread"
911 STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
913 *-sco-sysv*uw*|*-*-sysv*UnixWare*)
915 CCOPT="$CCOPT -Kthread"
919 CCOPT="$CCOPT -Kpthread"
923 ALWAYS_DEFINES="-D_REENTRANT"
924 ISC_PLATFORM_USETHREADS="#define ISC_PLATFORM_USETHREADS 1"
927 # We'd like to use sigwait() too
929 AC_CHECK_FUNC(sigwait,
930 AC_DEFINE(HAVE_SIGWAIT),
931 AC_CHECK_LIB(c, sigwait,
932 AC_DEFINE(HAVE_SIGWAIT),
933 AC_CHECK_LIB(pthread, sigwait,
934 AC_DEFINE(HAVE_SIGWAIT),
935 AC_CHECK_LIB(pthread, _Psigwait,
936 AC_DEFINE(HAVE_SIGWAIT),))))
938 AC_CHECK_FUNC(pthread_attr_getstacksize,
939 AC_DEFINE(HAVE_PTHREAD_ATTR_GETSTACKSIZE),)
941 AC_CHECK_FUNC(pthread_attr_setstacksize,
942 AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE),)
945 # Additional OS-specific issues related to pthreads and sigwait.
949 # One more place to look for sigwait.
952 AC_CHECK_LIB(c_r, sigwait, AC_DEFINE(HAVE_SIGWAIT),)
954 *-freebsd5.[[012]]|*-freebsd5.[[012]].*);;
955 *-freebsd5.[[3456789]]|*-freebsd5.[[3456789]].*)
956 AC_DEFINE(NEED_PTHREAD_SCOPE_SYSTEM)
959 AC_DEFINE(NEED_PTHREAD_SCOPE_SYSTEM)
964 # BSDI 3.0 through 4.0.1 needs pthread_init() to be
965 # called before certain pthreads calls. This is deprecated
968 *-bsdi3.*|*-bsdi4.0*)
969 AC_DEFINE(NEED_PTHREAD_INIT)
972 # LinuxThreads requires some changes to the way we
976 AC_DEFINE(HAVE_LINUXTHREADS)
979 # Ensure the right sigwait() semantics on Solaris and make
980 # sure we call pthread_setconcurrency.
983 AC_DEFINE(_POSIX_PTHREAD_SEMANTICS)
984 AC_CHECK_FUNC(pthread_setconcurrency,
985 AC_DEFINE(CALL_PTHREAD_SETCONCURRENCY))
988 # UnixWare does things its own way.
990 *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
991 AC_DEFINE(HAVE_UNIXWARE_SIGWAIT)
996 # Look for sysconf to allow detection of the number of processors.
998 AC_CHECK_FUNC(sysconf, AC_DEFINE(HAVE_SYSCONF),)
1001 ISC_PLATFORM_USETHREADS="#undef ISC_PLATFORM_USETHREADS"
1002 thread_dir=nothreads
1006 AC_SUBST(ALWAYS_DEFINES)
1007 AC_SUBST(ISC_PLATFORM_USETHREADS)
1008 ISC_THREAD_DIR=$thread_dir
1009 AC_SUBST(ISC_THREAD_DIR)
1012 # was --with-libxml2 specified?
1014 AC_MSG_CHECKING(for libxml2 library)
1015 AC_ARG_WITH(libxml2,
1016 [ --with-libxml2[=PATH] Build with libxml2 library [yes|no|path]],
1017 use_libxml2="$withval", use_libxml2="auto")
1019 case "$use_libxml2" in
1024 case X`(xml2-config --version) 2>/dev/null` in
1026 libxml2_libs=`xml2-config --libs`
1027 libxml2_cflags=`xml2-config --cflags`
1036 if test -f "$use_libxml2/bin/xml2-config" ; then
1037 libxml2_libs=`$use_libxml2/bin/xml2-config --libs`
1038 libxml2_cflags=`$use_libxml2/bin/xml2-config --cflags`
1043 if test "X$libxml2_libs" != "X"
1046 CFLAGS="$CFLAGS $libxml2_cflags"
1047 LIBS="$LIBS $libxml2_libs"
1048 AC_DEFINE(HAVE_LIBXML2, 1, [Define if libxml2 was found])
1054 # In solaris 10, SMF can manage named service
1056 AC_CHECK_LIB(scf, smf_enable_instance)
1059 # flockfile is usually provided by pthreads, but we may want to use it
1060 # even if compiled with --disable-threads. getc_unlocked might also not
1063 AC_CHECK_FUNC(flockfile, AC_DEFINE(HAVE_FLOCKFILE),)
1064 AC_CHECK_FUNC(getc_unlocked, AC_DEFINE(HAVE_GETCUNLOCKED),)
1067 # Indicate what the final decision was regarding threads.
1069 AC_MSG_CHECKING(whether to build with threads)
1070 if $use_threads; then
1077 # End of pthreads stuff.
1083 AC_ARG_ENABLE(largefile, [ --enable-largefile 64-bit file support],
1084 want_largefile="yes", want_largefile="no")
1085 case $want_largefile in
1087 ALWAYS_DEFINES="$ALWAYS_DEFINES -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
1094 # Additional compiler settings.
1098 IRIX_DNSSEC_WARNINGS_HACK=""
1100 if test "X$GCC" = "Xyes"; then
1101 AC_MSG_CHECKING(if "$CC" supports -fno-strict-aliasing)
1103 CFLAGS=-fno-strict-aliasing
1104 AC_TRY_COMPILE(,, [FNOSTRICTALIASING=yes],[FNOSTRICTALIASING=no])
1106 if test "$FNOSTRICTALIASING" = "yes"; then
1108 STD_CWARNINGS="$STD_CWARNINGS -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing"
1111 STD_CWARNINGS="$STD_CWARNINGS -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith"
1115 LDFLAGS="-Wl,+vnocompatwarnings $LDFLAGS"
1127 # The version of the C compiler that constantly warns about
1128 # 'const' as well as alignment issues is unfortunately not
1129 # able to be discerned via the version of the operating
1130 # system, nor does cc have a version flag.
1131 case "`$CC +W 123 2>&1`" in
1136 # Turn off the pointlessly noisy warnings.
1137 STD_CWARNINGS="+w1 +W 474,530,2193,2236"
1140 CCOPT="$CCOPT -Ae -z"
1141 LDFLAGS="-Wl,+vnocompatwarnings $LDFLAGS"
1142 MKDEPPROG='cc -Ae -E -Wp,-M >/dev/null 2>>$TMP'
1145 STD_CWARNINGS="-fullwarn -woff 1209"
1147 # Silence more than 250 instances of
1148 # "prototyped function redeclared without prototype"
1149 # and 11 instances of
1150 # "variable ... was set but never used"
1151 # from lib/dns/sec/openssl.
1153 IRIX_DNSSEC_WARNINGS_HACK="-woff 1692,1552"
1158 *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
1166 AC_SUBST(MKDEPCFLAGS)
1168 AC_SUBST(IRIX_DNSSEC_WARNINGS_HACK)
1173 AC_CHECK_FUNC(catgets, AC_DEFINE(HAVE_CATGETS),)
1176 # -lxnet buys us one big porting headache... standards, gotta love 'em.
1178 # AC_CHECK_LIB(xnet, socket, ,
1179 # AC_CHECK_LIB(socket, socket)
1182 # Use this for now, instead:
1190 AC_CHECK_LIB(socket, socket)
1191 AC_CHECK_LIB(nsl, inet_addr)
1196 # Work around Solaris's select() limitations.
1199 *-solaris2.[[89]]|*-solaris2.1?)
1200 AC_DEFINE(FD_SETSIZE, 65536,
1201 [Solaris hack to get select_large_fdset.])
1208 AC_MSG_CHECKING(whether to use purify)
1210 [ --with-purify[=PATH] use Rational purify],
1211 use_purify="$withval", use_purify="no")
1213 case "$use_purify" in
1217 AC_PATH_PROG(purify_path, purify, purify)
1220 purify_path="$use_purify"
1224 case "$use_purify" in
1230 if test -f $purify_path || test $purify_path = purify; then
1231 AC_MSG_RESULT($purify_path)
1232 PURIFYFLAGS="`echo $PURIFYOPTIONS`"
1233 PURIFY="$purify_path $PURIFYFLAGS"
1235 AC_MSG_ERROR([$purify_path not found.
1237 Please choose the proper path with the following command:
1239 configure --with-purify=PATH
1248 AC_ARG_WITH(libtool,
1249 [ --with-libtool use GNU libtool],
1250 use_libtool="$withval", use_libtool="no")
1252 case $use_libtool in
1257 LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
1258 LIBTOOL_MODE_COMPILE='--mode=compile'
1259 LIBTOOL_MODE_INSTALL='--mode=install'
1260 LIBTOOL_MODE_LINK='--mode=link'
1262 *) LIBTOOL_ALLOW_UNDEFINED= ;;
1265 *-ibm-aix*) LIBTOOL_IN_MAIN="-Wl,-bI:T_testlist.imp" ;;
1266 *) LIBTOOL_IN_MAIN= ;;
1275 LIBTOOL_MODE_COMPILE=
1276 LIBTOOL_MODE_INSTALL=
1278 LIBTOOL_ALLOW_UNDEFINED=
1284 # File name extension for static archive files, for those few places
1285 # where they are treated differently from dynamic ones.
1292 AC_SUBST(LIBTOOL_MKDEP_SED)
1293 AC_SUBST(LIBTOOL_MODE_COMPILE)
1294 AC_SUBST(LIBTOOL_MODE_INSTALL)
1295 AC_SUBST(LIBTOOL_MODE_LINK)
1296 AC_SUBST(LIBTOOL_ALLOW_UNDEFINED)
1297 AC_SUBST(LIBTOOL_IN_MAIN)
1300 # Here begins a very long section to determine the system's networking
1301 # capabilities. The order of the tests is significant.
1308 [ --enable-ipv6 use IPv6 [default=autodetect]])
1310 case "$enable_ipv6" in
1312 AC_DEFINE(WANT_IPV6)
1319 # We do the IPv6 compilation checking after libtool so that we can put
1320 # the right suffix on the files.
1322 AC_MSG_CHECKING(for IPv6 structures)
1324 #include <sys/types.h>
1325 #include <sys/socket.h>
1326 #include <netinet/in.h>],
1327 [struct sockaddr_in6 sin6; return (0);],
1334 # See whether IPv6 support is provided via a Kame add-on.
1335 # This is done before other IPv6 linking tests to LIBS is properly set.
1337 AC_MSG_CHECKING(for Kame IPv6 support)
1339 [ --with-kame[=PATH] use Kame IPv6 [default path /usr/local/v6]],
1340 use_kame="$withval", use_kame="no")
1346 kame_path=/usr/local/v6
1349 kame_path="$use_kame"
1358 if test -f $kame_path/lib/libinet6.a; then
1359 AC_MSG_RESULT($kame_path/lib/libinet6.a)
1360 LIBS="-L$kame_path/lib -linet6 $LIBS"
1362 AC_MSG_ERROR([$kame_path/lib/libinet6.a not found.
1364 Please choose the proper path with the following command:
1366 configure --with-kame=PATH
1373 # Whether netinet6/in6.h is needed has to be defined in isc/platform.h.
1374 # Including it on Kame-using platforms is very bad, though, because
1375 # Kame uses #error against direct inclusion. So include it on only
1376 # the platform that is otherwise broken without it -- BSD/OS 4.0 through 4.1.
1377 # This is done before the in6_pktinfo check because that's what
1378 # netinet6/in6.h is needed for.
1383 ISC_PLATFORM_NEEDNETINET6IN6H="#define ISC_PLATFORM_NEEDNETINET6IN6H 1"
1384 LWRES_PLATFORM_NEEDNETINET6IN6H="#define LWRES_PLATFORM_NEEDNETINET6IN6H 1"
1385 isc_netinet6in6_hack="#include <netinet6/in6.h>"
1388 ISC_PLATFORM_NEEDNETINET6IN6H="#undef ISC_PLATFORM_NEEDNETINET6IN6H"
1389 LWRES_PLATFORM_NEEDNETINET6IN6H="#undef LWRES_PLATFORM_NEEDNETINET6IN6H"
1390 isc_netinet6in6_hack=""
1396 # This is similar to the netinet6/in6.h issue.
1399 *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
1401 ISC_PLATFORM_NEEDNETINETIN6H="#define ISC_PLATFORM_NEEDNETINETIN6H 1"
1402 LWRES_PLATFORM_NEEDNETINETIN6H="#define LWRES_PLATFORM_NEEDNETINETIN6H 1"
1403 ISC_PLATFORM_FIXIN6ISADDR="#define ISC_PLATFORM_FIXIN6ISADDR 1"
1404 isc_netinetin6_hack="#include <netinet/in6.h>"
1407 ISC_PLATFORM_NEEDNETINETIN6H="#undef ISC_PLATFORM_NEEDNETINETIN6H"
1408 LWRES_PLATFORM_NEEDNETINETIN6H="#undef LWRES_PLATFORM_NEEDNETINETIN6H"
1409 ISC_PLATFORM_FIXIN6ISADDR="#undef ISC_PLATFORM_FIXIN6ISADDR"
1410 isc_netinetin6_hack=""
1415 # Now delve deeper into the suitability of the IPv6 support.
1417 case "$found_ipv6" in
1419 ISC_PLATFORM_HAVEIPV6="#define ISC_PLATFORM_HAVEIPV6 1"
1420 LWRES_PLATFORM_HAVEIPV6="#define LWRES_PLATFORM_HAVEIPV6 1"
1422 AC_MSG_CHECKING(for in6_addr)
1424 #include <sys/types.h>
1425 #include <sys/socket.h>
1426 #include <netinet/in.h>
1427 $isc_netinetin6_hack
1428 $isc_netinet6in6_hack
1430 [struct in6_addr in6; return (0);],
1432 ISC_PLATFORM_HAVEINADDR6="#undef ISC_PLATFORM_HAVEINADDR6"
1433 LWRES_PLATFORM_HAVEINADDR6="#undef LWRES_PLATFORM_HAVEINADDR6"
1434 isc_in_addr6_hack=""],
1436 ISC_PLATFORM_HAVEINADDR6="#define ISC_PLATFORM_HAVEINADDR6 1"
1437 LWRES_PLATFORM_HAVEINADDR6="#define LWRES_PLATFORM_HAVEINADDR6 1"
1438 isc_in_addr6_hack="#define in6_addr in_addr6"])
1440 AC_MSG_CHECKING(for in6addr_any)
1442 #include <sys/types.h>
1443 #include <sys/socket.h>
1444 #include <netinet/in.h>
1445 $isc_netinetin6_hack
1446 $isc_netinet6in6_hack
1449 [struct in6_addr in6; in6 = in6addr_any; return (in6.s6_addr[0]);],
1451 ISC_PLATFORM_NEEDIN6ADDRANY="#undef ISC_PLATFORM_NEEDIN6ADDRANY"
1452 LWRES_PLATFORM_NEEDIN6ADDRANY="#undef LWRES_PLATFORM_NEEDIN6ADDRANY"],
1454 ISC_PLATFORM_NEEDIN6ADDRANY="#define ISC_PLATFORM_NEEDIN6ADDRANY 1"
1455 LWRES_PLATFORM_NEEDIN6ADDRANY="#define LWRES_PLATFORM_NEEDIN6ADDRANY 1"])
1457 AC_MSG_CHECKING(for in6addr_loopback)
1459 #include <sys/types.h>
1460 #include <sys/socket.h>
1461 #include <netinet/in.h>
1462 $isc_netinetin6_hack
1463 $isc_netinet6in6_hack
1466 [struct in6_addr in6; in6 = in6addr_loopback; return (in6.s6_addr[0]);],
1468 ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef ISC_PLATFORM_NEEDIN6ADDRLOOPBACK"
1469 LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK"],
1471 ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#define ISC_PLATFORM_NEEDIN6ADDRLOOPBACK 1"
1472 LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#define LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK 1"])
1474 AC_MSG_CHECKING(for sin6_scope_id in struct sockaddr_in6)
1476 #include <sys/types.h>
1477 #include <sys/socket.h>
1478 #include <netinet/in.h>
1479 $isc_netinetin6_hack
1480 $isc_netinet6in6_hack
1482 [struct sockaddr_in6 xyzzy; xyzzy.sin6_scope_id = 0; return (0);],
1484 ISC_PLATFORM_HAVESCOPEID="#define ISC_PLATFORM_HAVESCOPEID 1"
1485 result="#define LWRES_HAVE_SIN6_SCOPE_ID 1"],
1487 ISC_PLATFORM_HAVESCOPEID="#undef ISC_PLATFORM_HAVESCOPEID"
1488 result="#undef LWRES_HAVE_SIN6_SCOPE_ID"])
1489 LWRES_HAVE_SIN6_SCOPE_ID="$result"
1491 AC_MSG_CHECKING(for in6_pktinfo)
1493 #include <sys/types.h>
1494 #include <sys/socket.h>
1495 #include <netinet/in.h>
1496 $isc_netinetin6_hack
1497 $isc_netinet6in6_hack
1499 [struct in6_pktinfo xyzzy; return (0);],
1501 ISC_PLATFORM_HAVEIN6PKTINFO="#define ISC_PLATFORM_HAVEIN6PKTINFO 1"],
1502 [AC_MSG_RESULT(no -- disabling runtime ipv6 support)
1503 ISC_PLATFORM_HAVEIN6PKTINFO="#undef ISC_PLATFORM_HAVEIN6PKTINFO"])
1506 ISC_PLATFORM_HAVEIPV6="#undef ISC_PLATFORM_HAVEIPV6"
1507 LWRES_PLATFORM_HAVEIPV6="#undef LWRES_PLATFORM_HAVEIPV6"
1508 ISC_PLATFORM_NEEDIN6ADDRANY="#undef ISC_PLATFORM_NEEDIN6ADDRANY"
1509 LWRES_PLATFORM_NEEDIN6ADDRANY="#undef LWRES_PLATFORM_NEEDIN6ADDRANY"
1510 ISC_PLATFORM_HAVEIN6PKTINFO="#undef ISC_PLATFORM_HAVEIN6PKTINFO"
1511 LWRES_HAVE_SIN6_SCOPE_ID="#define LWRES_HAVE_SIN6_SCOPE_ID 1"
1512 ISC_PLATFORM_HAVESCOPEID="#define ISC_PLATFORM_HAVESCOPEID 1"
1514 ISC_IPV6_O="ipv6.$O"
1515 ISC_ISCIPV6_O="unix/ipv6.$O"
1520 AC_SUBST(ISC_PLATFORM_HAVEIPV6)
1521 AC_SUBST(LWRES_PLATFORM_HAVEIPV6)
1522 AC_SUBST(ISC_PLATFORM_NEEDNETINETIN6H)
1523 AC_SUBST(LWRES_PLATFORM_NEEDNETINETIN6H)
1524 AC_SUBST(ISC_PLATFORM_NEEDNETINET6IN6H)
1525 AC_SUBST(LWRES_PLATFORM_NEEDNETINET6IN6H)
1526 AC_SUBST(ISC_PLATFORM_HAVEINADDR6)
1527 AC_SUBST(LWRES_PLATFORM_HAVEINADDR6)
1528 AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRANY)
1529 AC_SUBST(LWRES_PLATFORM_NEEDIN6ADDRANY)
1530 AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRLOOPBACK)
1531 AC_SUBST(LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK)
1532 AC_SUBST(ISC_PLATFORM_HAVEIN6PKTINFO)
1533 AC_SUBST(ISC_PLATFORM_FIXIN6ISADDR)
1534 AC_SUBST(ISC_IPV6_H)
1535 AC_SUBST(ISC_IPV6_O)
1536 AC_SUBST(ISC_ISCIPV6_O)
1537 AC_SUBST(ISC_IPV6_C)
1538 AC_SUBST(LWRES_HAVE_SIN6_SCOPE_ID)
1539 AC_SUBST(ISC_PLATFORM_HAVESCOPEID)
1541 AC_MSG_CHECKING([for struct if_laddrreq])
1543 #include <sys/types.h>
1544 #include <net/if6.h>
1545 ],[ struct if_laddrreq a; ],
1547 ISC_PLATFORM_HAVEIF_LADDRREQ="#define ISC_PLATFORM_HAVEIF_LADDRREQ 1"],
1549 ISC_PLATFORM_HAVEIF_LADDRREQ="#undef ISC_PLATFORM_HAVEIF_LADDRREQ"])
1550 AC_SUBST(ISC_PLATFORM_HAVEIF_LADDRREQ)
1552 AC_MSG_CHECKING([for struct if_laddrconf])
1554 #include <sys/types.h>
1555 #include <net/if6.h>
1556 ],[ struct if_laddrconf a; ],
1558 ISC_PLATFORM_HAVEIF_LADDRCONF="#define ISC_PLATFORM_HAVEIF_LADDRCONF 1"],
1560 ISC_PLATFORM_HAVEIF_LADDRCONF="#undef ISC_PLATFORM_HAVEIF_LADDRCONF"])
1561 AC_SUBST(ISC_PLATFORM_HAVEIF_LADDRCONF)
1564 # Check for network functions that are often missing. We do this
1565 # after the libtool checking, so we can put the right suffix on
1566 # the files. It also needs to come after checking for a Kame add-on,
1567 # which provides some (all?) of the desired functions.
1570 AC_MSG_CHECKING([for inet_ntop with IPv6 support])
1572 #include <sys/types.h>
1573 #include <sys/socket.h>
1574 #include <netinet/in.h>
1575 #include <arpa/inet.h>
1577 char a[16],b[64]; return(inet_ntop(AF_INET6, a, b, sizeof(b)) == (char*)0);}],
1579 ISC_PLATFORM_NEEDNTOP="#undef ISC_PLATFORM_NEEDNTOP"],
1582 ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_ntop.$O"
1583 ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_ntop.c"
1584 ISC_PLATFORM_NEEDNTOP="#define ISC_PLATFORM_NEEDNTOP 1"],
1585 [AC_MSG_RESULT(assuming inet_ntop needed)
1586 ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_ntop.$O"
1587 ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_ntop.c"
1588 ISC_PLATFORM_NEEDNTOP="#define ISC_PLATFORM_NEEDNTOP 1"])
1591 # On NetBSD 1.4.2 and maybe others, inet_pton() incorrectly accepts
1592 # addresses with less than four octets, like "1.2.3". Also leading
1593 # zeros should also be rejected.
1595 AC_MSG_CHECKING([for working inet_pton with IPv6 support])
1597 #include <sys/types.h>
1598 #include <sys/socket.h>
1599 #include <netinet/in.h>
1600 #include <arpa/inet.h>
1601 main() { char a[16]; return (inet_pton(AF_INET, "1.2.3", a) == 1 ? 1 :
1602 inet_pton(AF_INET, "1.2.3.04", a) == 1 ? 1 :
1603 (inet_pton(AF_INET6, "::1.2.3.4", a) != 1)); }],
1605 ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"],
1607 ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_pton.$O"
1608 ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_pton.c"
1609 ISC_PLATFORM_NEEDPTON="#define ISC_PLATFORM_NEEDPTON 1"],
1610 [AC_MSG_RESULT(assuming target platform has working inet_pton)
1611 ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"],
1612 [AC_MSG_RESULT(assuming inet_pton needed)
1613 ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_pton.$O"
1614 ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_pton.c"
1615 ISC_PLATFORM_NEEDPTON="#define ISC_PLATFORM_NEEDPTON 1"],
1616 [AC_MSG_RESULT(assuming target platform has working inet_pton)
1617 ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"])
1619 AC_SUBST(ISC_PLATFORM_NEEDNTOP)
1620 AC_SUBST(ISC_PLATFORM_NEEDPTON)
1623 # Look for a 4.4BSD-style sa_len member in struct sockaddr.
1627 # Turn on 4.4BSD style sa_len support.
1628 AC_DEFINE(_SOCKADDR_LEN)
1632 AC_MSG_CHECKING(for sa_len in struct sockaddr)
1634 #include <sys/types.h>
1635 #include <sys/socket.h>],
1636 [struct sockaddr sa; sa.sa_len = 0; return (0);],
1638 ISC_PLATFORM_HAVESALEN="#define ISC_PLATFORM_HAVESALEN 1"
1639 LWRES_PLATFORM_HAVESALEN="#define LWRES_PLATFORM_HAVESALEN 1"],
1641 ISC_PLATFORM_HAVESALEN="#undef ISC_PLATFORM_HAVESALEN"
1642 LWRES_PLATFORM_HAVESALEN="#undef LWRES_PLATFORM_HAVESALEN"])
1643 AC_SUBST(ISC_PLATFORM_HAVESALEN)
1644 AC_SUBST(LWRES_PLATFORM_HAVESALEN)
1647 # Look for a 4.4BSD or 4.3BSD struct msghdr
1649 AC_MSG_CHECKING(for struct msghdr flavor)
1651 #include <sys/types.h>
1652 #include <sys/socket.h>],
1653 [struct msghdr msg; msg.msg_flags = 0; return (0);],
1654 [AC_MSG_RESULT(4.4BSD)
1655 ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD44MSGHDR 1"],
1656 [AC_MSG_RESULT(4.3BSD)
1657 ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD43MSGHDR 1"])
1658 AC_SUBST(ISC_PLATFORM_MSGHDRFLAVOR)
1661 # Look for in_port_t.
1663 AC_MSG_CHECKING(for type in_port_t)
1665 #include <sys/types.h>
1666 #include <netinet/in.h>],
1667 [in_port_t port = 25; return (0);],
1669 ISC_PLATFORM_NEEDPORTT="#undef ISC_PLATFORM_NEEDPORTT"],
1671 ISC_PLATFORM_NEEDPORTT="#define ISC_PLATFORM_NEEDPORTT 1"])
1672 AC_SUBST(ISC_PLATFORM_NEEDPORTT)
1675 # Check for addrinfo
1677 AC_MSG_CHECKING(for struct addrinfo)
1679 #include <netdb.h>],
1680 [struct addrinfo a; return (0);],
1682 ISC_LWRES_NEEDADDRINFO="#undef ISC_LWRES_NEEDADDRINFO"
1683 AC_DEFINE(HAVE_ADDRINFO)],
1685 ISC_LWRES_NEEDADDRINFO="#define ISC_LWRES_NEEDADDRINFO 1"])
1686 AC_SUBST(ISC_LWRES_NEEDADDRINFO)
1689 # Check for rrsetinfo
1691 AC_MSG_CHECKING(for struct rrsetinfo)
1693 #include <netdb.h>],
1694 [struct rrsetinfo r; return (0);],
1696 ISC_LWRES_NEEDRRSETINFO="#undef ISC_LWRES_NEEDRRSETINFO"],
1698 ISC_LWRES_NEEDRRSETINFO="#define ISC_LWRES_NEEDRRSETINFO 1"])
1699 AC_SUBST(ISC_LWRES_NEEDRRSETINFO)
1701 AC_MSG_CHECKING(for int sethostent)
1703 #include <netdb.h>],
1704 [int i = sethostent(0); return(0);],
1706 ISC_LWRES_SETHOSTENTINT="#define ISC_LWRES_SETHOSTENTINT 1"],
1708 ISC_LWRES_SETHOSTENTINT="#undef ISC_LWRES_SETHOSTENTINT"])
1709 AC_SUBST(ISC_LWRES_SETHOSTENTINT)
1711 AC_MSG_CHECKING(for int endhostent)
1713 #include <netdb.h>],
1714 [int i = endhostent(); return(0);],
1716 ISC_LWRES_ENDHOSTENTINT="#define ISC_LWRES_ENDHOSTENTINT 1"],
1718 ISC_LWRES_ENDHOSTENTINT="#undef ISC_LWRES_ENDHOSTENTINT"])
1719 AC_SUBST(ISC_LWRES_ENDHOSTENTINT)
1721 AC_MSG_CHECKING(for getnetbyaddr(in_addr_t, ...))
1724 struct netent *getnetbyaddr(in_addr_t, int);],
1727 ISC_LWRES_GETNETBYADDRINADDR="#define ISC_LWRES_GETNETBYADDRINADDR 1"],
1729 ISC_LWRES_GETNETBYADDRINADDR="#undef ISC_LWRES_GETNETBYADDRINADDR"])
1730 AC_SUBST(ISC_LWRES_GETNETBYADDRINADDR)
1732 AC_MSG_CHECKING(for int setnetent)
1734 #include <netdb.h>],
1735 [int i = setnetent(0); return(0);],
1737 ISC_LWRES_SETNETENTINT="#define ISC_LWRES_SETNETENTINT 1"],
1739 ISC_LWRES_SETNETENTINT="#undef ISC_LWRES_SETNETENTINT"])
1740 AC_SUBST(ISC_LWRES_SETNETENTINT)
1742 AC_MSG_CHECKING(for int endnetent)
1744 #include <netdb.h>],
1745 [int i = endnetent(); return(0);],
1747 ISC_LWRES_ENDNETENTINT="#define ISC_LWRES_ENDNETENTINT 1"],
1749 ISC_LWRES_ENDNETENTINT="#undef ISC_LWRES_ENDNETENTINT"])
1750 AC_SUBST(ISC_LWRES_ENDNETENTINT)
1752 AC_MSG_CHECKING(for gethostbyaddr(const void *, size_t, ...))
1755 struct hostent *gethostbyaddr(const void *, size_t, int);],
1758 ISC_LWRES_GETHOSTBYADDRVOID="#define ISC_LWRES_GETHOSTBYADDRVOID 1"],
1760 ISC_LWRES_GETHOSTBYADDRVOID="#undef ISC_LWRES_GETHOSTBYADDRVOID"])
1761 AC_SUBST(ISC_LWRES_GETHOSTBYADDRVOID)
1763 AC_MSG_CHECKING(for h_errno in netdb.h)
1765 #include <netdb.h>],
1766 [h_errno = 1; return(0);],
1768 ISC_LWRES_NEEDHERRNO="#undef ISC_LWRES_NEEDHERRNO"],
1770 ISC_LWRES_NEEDHERRNO="#define ISC_LWRES_NEEDHERRNO 1"])
1771 AC_SUBST(ISC_LWRES_NEEDHERRNO)
1773 AC_CHECK_FUNC(getipnodebyname,
1774 [ISC_LWRES_GETIPNODEPROTO="#undef ISC_LWRES_GETIPNODEPROTO"],
1775 [ISC_LWRES_GETIPNODEPROTO="#define ISC_LWRES_GETIPNODEPROTO 1"])
1776 AC_CHECK_FUNC(getnameinfo,
1777 [ISC_LWRES_GETNAMEINFOPROTO="#undef ISC_LWRES_GETNAMEINFOPROTO"],
1778 [ISC_LWRES_GETNAMEINFOPROTO="#define ISC_LWRES_GETNAMEINFOPROTO 1"])
1779 AC_CHECK_FUNC(getaddrinfo,
1780 [ISC_LWRES_GETADDRINFOPROTO="#undef ISC_LWRES_GETADDRINFOPROTO"
1781 AC_DEFINE(HAVE_GETADDRINFO)],
1782 [ISC_LWRES_GETADDRINFOPROTO="#define ISC_LWRES_GETADDRINFOPROTO 1"])
1783 AC_CHECK_FUNC(gai_strerror, AC_DEFINE(HAVE_GAISTRERROR))
1784 AC_SUBST(ISC_LWRES_GETIPNODEPROTO)
1785 AC_SUBST(ISC_LWRES_GETADDRINFOPROTO)
1786 AC_SUBST(ISC_LWRES_GETNAMEINFOPROTO)
1788 AC_ARG_ENABLE(getifaddrs,
1789 [ --enable-getifaddrs Enable the use of getifaddrs() [[yes|no]].],
1790 want_getifaddrs="$enableval", want_getifaddrs="yes")
1793 # This interface iteration code for getifaddrs() will fall back to using
1794 # /proc/net/if_inet6 if getifaddrs() in glibc doesn't return any IPv6
1797 case $want_getifaddrs in
1799 AC_MSG_WARN("--enable-getifaddrs=glibc is no longer required")
1800 AC_CHECK_FUNC(getifaddrs, AC_DEFINE(HAVE_GETIFADDRS))
1803 AC_CHECK_FUNC(getifaddrs, AC_DEFINE(HAVE_GETIFADDRS))
1810 # Look for a sysctl call to get the list of network interfaces.
1812 case $ac_cv_header_sys_sysctl_h in
1814 AC_MSG_CHECKING(for interface list sysctl)
1815 AC_EGREP_CPP(found_rt_iflist, [
1816 #include <sys/param.h>
1817 #include <sys/sysctl.h>
1818 #include <sys/socket.h>
1819 #ifdef NET_RT_IFLIST
1824 AC_DEFINE(HAVE_IFLIST_SYSCTL)],
1825 [AC_MSG_RESULT(no)])
1830 # Check for some other useful functions that are not ever-present.
1833 # We test for strsep() using AC_TRY_LINK instead of AC_CHECK_FUNC
1834 # because AIX 4.3.3 with patches for bos.adt.include to version 4.3.3.77
1835 # reportedly defines strsep() without declaring it in <string.h> when
1836 # -D_LINUX_SOURCE_COMPAT is not defined [RT #2190], and
1837 # AC_CHECK_FUNC() incorrectly succeeds because it declares
1838 # the function itself.
1839 AC_MSG_CHECKING(for correctly declared strsep())
1840 AC_TRY_LINK([#include <string.h>], [char *sp; char *foo = strsep(&sp, ".");],
1841 [AC_MSG_RESULT(yes); ISC_PLATFORM_NEEDSTRSEP="#undef ISC_PLATFORM_NEEDSTRSEP"],
1842 [AC_MSG_RESULT(no); ISC_PLATFORM_NEEDSTRSEP="#define ISC_PLATFORM_NEEDSTRSEP 1"])
1843 AC_SUBST(ISC_PLATFORM_NEEDSTRSEP)
1845 AC_CHECK_FUNC(memmove,
1846 [ISC_PLATFORM_NEEDMEMMOVE="#undef ISC_PLATFORM_NEEDMEMMOVE"],
1847 [ISC_PLATFORM_NEEDMEMMOVE="#define ISC_PLATFORM_NEEDMEMMOVE 1"])
1848 AC_SUBST(ISC_PLATFORM_NEEDMEMMOVE)
1850 AC_CHECK_FUNC(strtoul,
1851 [ISC_PLATFORM_NEEDSTRTOUL="#undef ISC_PLATFORM_NEEDSTRTOUL"
1852 LWRES_PLATFORM_NEEDSTRTOUL="#undef LWRES_PLATFORM_NEEDSTRTOUL"
1854 [ISC_PLATFORM_NEEDSTRTOUL="#define ISC_PLATFORM_NEEDSTRTOUL 1"
1855 LWRES_PLATFORM_NEEDSTRTOUL="#define LWRES_PLATFORM_NEEDSTRTOUL 1"
1856 GENRANDOMLIB='${ISCLIBS}'])
1857 AC_SUBST(ISC_PLATFORM_NEEDSTRTOUL)
1858 AC_SUBST(LWRES_PLATFORM_NEEDSTRTOUL)
1859 AC_SUBST(GENRANDOMLIB)
1861 AC_CHECK_FUNC(strlcpy,
1862 [ISC_PLATFORM_NEEDSTRLCPY="#undef ISC_PLATFORM_NEEDSTRLCPY"],
1863 [ISC_PLATFORM_NEEDSTRLCPY="#define ISC_PLATFORM_NEEDSTRLCPY 1"])
1864 AC_SUBST(ISC_PLATFORM_NEEDSTRLCPY)
1866 AC_CHECK_FUNC(strlcat,
1867 [ISC_PLATFORM_NEEDSTRLCAT="#undef ISC_PLATFORM_NEEDSTRLCAT"],
1868 [ISC_PLATFORM_NEEDSTRLCAT="#define ISC_PLATFORM_NEEDSTRLCAT 1"])
1869 AC_SUBST(ISC_PLATFORM_NEEDSTRLCAT)
1873 AC_MSG_CHECKING(sprintf)
1877 [ char buf[2]; return(*sprintf(buf,"x"));],
1879 ISC_PRINT_OBJS="print.$O"
1880 ISC_PRINT_SRCS="print.c"
1881 ISC_PLATFORM_NEEDSPRINTF="#define ISC_PLATFORM_NEEDSPRINTF"
1882 LWRES_PLATFORM_NEEDSPRINTF="#define LWRES_PLATFORM_NEEDSPRINTF"
1884 [ISC_PLATFORM_NEEDSPRINTF="#undef ISC_PLATFORM_NEEDSPRINTF"
1885 LWRES_PLATFORM_NEEDSPRINTF="#undef LWRES_PLATFORM_NEEDSPRINTF"]
1887 AC_SUBST(ISC_PLATFORM_NEEDSPRINTF)
1888 AC_SUBST(LWRES_PLATFORM_NEEDSPRINTF)
1890 AC_CHECK_FUNC(vsnprintf,
1891 [ISC_PLATFORM_NEEDVSNPRINTF="#undef ISC_PLATFORM_NEEDVSNPRINTF"
1892 LWRES_PLATFORM_NEEDVSNPRINTF="#undef LWRES_PLATFORM_NEEDVSNPRINTF"],
1893 [ISC_PRINT_OBJS="print.$O"
1894 ISC_PRINT_SRCS="print.c"
1895 ISC_PLATFORM_NEEDVSNPRINTF="#define ISC_PLATFORM_NEEDVSNPRINTF 1"
1896 LWRES_PLATFORM_NEEDVSNPRINTF="#define LWRES_PLATFORM_NEEDVSNPRINTF 1"])
1897 AC_SUBST(ISC_PLATFORM_NEEDVSNPRINTF)
1898 AC_SUBST(LWRES_PLATFORM_NEEDVSNPRINTF)
1899 ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS $ISC_PRINT_OBJS"
1900 ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS $ISC_PRINT_SRCS"
1902 AC_CHECK_FUNC(strerror, AC_DEFINE(HAVE_STRERROR))
1904 AC_SUBST(ISC_EXTRA_OBJS)
1905 AC_SUBST(ISC_EXTRA_SRCS)
1908 # Use our own SPNEGO implementation?
1910 AC_ARG_ENABLE(isc-spnego,
1911 [ --disable-isc-spnego use SPNEGO from GSSAPI library])
1913 if test -n "$USE_GSSAPI"
1915 case "$enable_isc_spnego" in
1917 USE_ISC_SPNEGO='-DUSE_ISC_SPNEGO'
1918 DST_EXTRA_OBJS="$DST_EXTRA_OBJS spnego.$O"
1919 DST_EXTRA_SRCS="$DST_EXTRA_SRCS spnego.c"
1920 AC_MSG_RESULT(using SPNEGO from lib/dns)
1923 AC_MSG_RESULT(using SPNEGO from GSSAPI library)
1928 AC_SUBST(USE_ISC_SPNEGO)
1930 AC_SUBST(DST_EXTRA_OBJS)
1931 AC_SUBST(DST_EXTRA_SRCS)
1933 # Determine the printf format characters to use when printing
1934 # values of type isc_int64_t. This will normally be "ll", but where
1935 # the compiler treats "long long" as a alias for "long" and printf
1936 # doesn't know about "long long" use "l". Hopefully the sprintf
1937 # will produce a inconsistent result in the later case. If the compiler
1938 # fails due to seeing "%lld" we fall back to "l".
1940 # Digital Unix 4.0 (gcc?) (long long) is 64 bits as is its long. It uses
1941 # %ld even for (long long)/
1943 # Win32 uses "%I64d", but that's defined elsewhere since we don't use
1944 # configure on Win32.
1946 AC_MSG_CHECKING(printf format modifier for 64-bit integers)
1950 long long int j = 0;
1953 sprintf(buf, "%lld", j);
1954 exit((sizeof(long long int) != sizeof(long int))? 0 :
1955 (strcmp(buf, "0") != 0));
1959 ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "ll"'
1960 LWRES_PLATFORM_QUADFORMAT='#define LWRES_PLATFORM_QUADFORMAT "ll"'],
1962 ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "l"'
1963 LWRES_PLATFORM_QUADFORMAT='#define LWRES_PLATFORM_QUADFORMAT "l"'],
1964 [AC_MSG_RESULT(assuming target platform uses ll)
1965 ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "ll"'
1966 LWRES_PLATFORM_QUADFORMAT='#define LWRES_PLATFORM_QUADFORMAT "ll"'])
1967 AC_SUBST(ISC_PLATFORM_QUADFORMAT)
1968 AC_SUBST(LWRES_PLATFORM_QUADFORMAT)
1973 # Note it is very recommended to *not* disable chroot(),
1974 # this is only because chroot() was made obsolete by Posix.
1975 AC_ARG_ENABLE(chroot,
1976 [ --disable-chroot disable chroot])
1977 case "$enable_chroot" in
1979 AC_CHECK_FUNCS(chroot)
1984 AC_ARG_ENABLE(linux-caps,
1985 [ --disable-linux-caps disable linux capabilities])
1986 case "$enable_linux_caps" in
1988 AC_CHECK_HEADERS(linux/capability.h sys/capability.h)
1989 AC_CHECK_LIB(cap, cap_set_proc)
1994 AC_CHECK_HEADERS(sys/prctl.h)
1996 AC_CHECK_HEADERS(sys/un.h,
1997 ISC_PLATFORM_HAVESYSUNH="#define ISC_PLATFORM_HAVESYSUNH 1"
1999 ISC_PLATFORM_HAVESYSUNH="#undef ISC_PLATFORM_HAVESYSUNH"
2001 AC_SUBST(ISC_PLATFORM_HAVESYSUNH)
2005 AC_DEFINE(NEED_SECURE_DIRECTORY, 1,
2006 [Define if connect does not honour the permission on the UNIX domain socket.])
2009 AC_DEFINE(NEED_SECURE_DIRECTORY, 1,
2010 [Define if connect does not honour the permission on the UNIX domain socket.])
2017 AC_CHECK_FUNC(tzset, AC_DEFINE(HAVE_TZSET))
2019 AC_MSG_CHECKING(for optarg declaration)
2024 [AC_MSG_RESULT(yes)],
2026 GEN_NEED_OPTARG="-DNEED_OPTARG=1"
2027 AC_DEFINE(NEED_OPTARG, 1, [Defined if extern char *optarg is not declared.])])
2030 # BSD/OS, and perhaps some others, don't define rlim_t.
2032 AC_MSG_CHECKING(for type rlim_t)
2034 #include <sys/types.h>
2035 #include <sys/time.h>
2036 #include <sys/resource.h>],
2037 [rlim_t rl = 19671212; return (0);],
2039 ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE rlim_t"],
2042 AC_MSG_CHECKING(type of rlim_cur)
2044 #include <sys/types.h>
2045 #include <sys/time.h>
2046 #include <sys/resource.h>
2047 main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(int)));}],
2049 ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE int"],
2052 #include <sys/types.h>
2053 #include <sys/time.h>
2054 #include <sys/resource.h>
2055 main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(long int)));}],
2056 [AC_MSG_RESULT(long int)
2057 ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE long int"],
2060 #include <sys/types.h>
2061 #include <sys/time.h>
2062 #include <sys/resource.h>
2063 main() { struct rlimit r; exit((!sizeof(r.rlim_cur) == sizeof(long long int)));}],
2064 [AC_MSG_RESULT(long long int)
2065 ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE long long int"],
2066 [AC_MSG_ERROR([unable to determine sizeof rlim_cur])
2067 ],[AC_MSG_ERROR(this cannot happen)])
2068 ],[AC_MSG_ERROR(this cannot happen)])
2070 ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE long long int"
2071 AC_MSG_RESULT(cannot determine type of rlim_cur when cross compiling - assuming long long int)])
2073 AC_SUBST(ISC_PLATFORM_RLIMITTYPE)
2076 # Older HP-UX doesn't have gettune
2080 AC_CHECK_HEADERS(sys/dyntune.h)
2088 # Compaq TruCluster requires more code for handling cluster IP aliases
2092 AC_CHECK_LIB(clua, clua_getaliasaddress, LIBS="-lclua $LIBS")
2093 AC_CHECK_FUNC(clua_getaliasaddress,
2094 AC_DEFINE(HAVE_TRUCLUSTER, 1,
2095 [Define if running under Compaq TruCluster]))
2102 # Some hosts need msg_namelen to match the size of the socket structure.
2103 # Some hosts don't set msg_namelen appropriately on return from recvmsg().
2107 AC_DEFINE(BROKEN_RECVMSG, 1,
2108 [Define if recvmsg() does not meet all of the BSD socket API specifications.])
2113 # Microsoft has their own way of handling shared libraries that requires
2114 # additional qualifiers on extern variables. Unix systems don't need it.
2116 AC_SUBST(ISC_PLATFORM_USEDECLSPEC)
2117 ISC_PLATFORM_USEDECLSPEC="#undef ISC_PLATFORM_USEDECLSPEC"
2118 AC_SUBST(LWRES_PLATFORM_USEDECLSPEC)
2119 LWRES_PLATFORM_USEDECLSPEC="#undef LWRES_PLATFORM_USEDECLSPEC"
2122 # Random remaining OS-specific issues involving compiler warnings.
2123 # XXXDCL print messages to indicate some compensation is being done?
2125 AC_SUBST(ISC_PLATFORM_BRACEPTHREADONCEINIT)
2126 ISC_PLATFORM_BRACEPTHREADONCEINIT="#undef ISC_PLATFORM_BRACEPTHREADONCEINIT"
2130 hack_shutup_pthreadonceinit=yes
2133 hack_shutup_sputaux=yes
2136 hack_shutup_sigwait=yes
2137 hack_shutup_sputaux=yes
2140 hack_shutup_stdargcast=yes
2143 hack_shutup_pthreadonceinit=yes
2145 *-solaris2.1[[0-9]])
2146 AC_TRY_COMPILE([ #include <pthread.h> ], [ static pthread_once_t once_test = { PTHREAD_ONCE_INIT }; ], [hack_shutup_pthreadonceinit=yes], )
2150 case "$hack_shutup_pthreadonceinit" in
2153 # Shut up PTHREAD_ONCE_INIT unbraced initializer warnings.
2155 ISC_PLATFORM_BRACEPTHREADONCEINIT="#define ISC_PLATFORM_BRACEPTHREADONCEINIT 1"
2159 case "$hack_shutup_sigwait" in
2162 # Shut up a -Wmissing-prototypes warning for sigwait().
2164 AC_DEFINE(SHUTUP_SIGWAIT)
2168 case "$hack_shutup_sputaux" in
2171 # Shut up a -Wmissing-prototypes warning from <stdio.h>.
2173 AC_DEFINE(SHUTUP_SPUTAUX)
2177 case "$hack_shutup_stdargcast" in
2180 # Shut up a -Wcast-qual warning from va_start().
2182 AC_DEFINE(SHUTUP_STDARG_CAST)
2186 AC_CHECK_HEADERS(strings.h,
2187 ISC_PLATFORM_HAVESTRINGSH="#define ISC_PLATFORM_HAVESTRINGSH 1"
2189 ISC_PLATFORM_HAVESTRINGSH="#undef ISC_PLATFORM_HAVESTRINGSH"
2191 AC_SUBST(ISC_PLATFORM_HAVESTRINGSH)
2194 # Check for if_nametoindex() for IPv6 scoped addresses support
2196 AC_CHECK_FUNC(if_nametoindex, ac_cv_have_if_nametoindex=yes,
2197 ac_cv_have_if_nametoindex=no)
2198 case $ac_cv_have_if_nametoindex in
2202 AC_CHECK_LIB(ipv6, if_nametoindex,
2203 ac_cv_have_if_nametoindex=yes
2204 LIBS="-lipv6 $LIBS",)
2208 case $ac_cv_have_if_nametoindex in
2210 ISC_PLATFORM_HAVEIFNAMETOINDEX="#define ISC_PLATFORM_HAVEIFNAMETOINDEX 1"
2213 ISC_PLATFORM_HAVEIFNAMETOINDEX="#undef ISC_PLATFORM_HAVEIFNAMETOINDEX"
2216 AC_SUBST(ISC_PLATFORM_HAVEIFNAMETOINDEX)
2218 AC_CHECK_FUNCS(nanosleep)
2221 # Machine architecture dependent features
2223 AC_ARG_ENABLE(atomic,
2224 [ --enable-atomic enable machine specific atomic operations
2225 [[default=autodetect]]],
2226 enable_atomic="$enableval",
2227 enable_atomic="autodetect")
2228 case "$enable_atomic" in
2232 if test "X$GCC" = "Xyes"; then
2233 AC_MSG_CHECKING([if asm("isc"); works])
2235 main() { asm("ics"); exit(0); }
2240 saved_cflags="$CFLAGS"
2241 CFLAGS="$CFLAGS -Wa,-many"
2243 main() { asm("ics"); exit(0); }
2245 [AC_MSG_RESULT([yes, required -Wa,-many])
2247 [AC_MSG_RESULT([no, use_atomic disabled])
2248 CFLAGS="$saved_cflags"
2250 [AC_MSG_RESULT([cross compile, assume yes])
2251 CFLAGS="$saved_cflags"
2268 ISC_PLATFORM_USEOSFASM="#undef ISC_PLATFORM_USEOSFASM"
2269 if test "$use_atomic" = "yes"; then
2270 AC_MSG_CHECKING([architecture type for atomic operations])
2271 have_atomic=yes # set default
2274 # XXX: some old x86 architectures actually do not support
2275 # (some of) these operations. Do we need stricter checks?
2278 exit((sizeof(void *) == 8) ? 0 : 1);
2289 exit((sizeof(void *) == 8) ? 0 : 1);
2304 mips-*|mipsel-*|mips64-*|mips64el-*)
2315 AC_MSG_RESULT($arch)
2318 if test "$have_atomic" = "yes"; then
2319 AC_MSG_CHECKING([compiler support for inline assembly code])
2322 # Check whether the compiler supports the assembly syntax we provide.
2323 if test "X$GCC" = "Xyes"; then
2324 # GCC's ASM extension always works
2326 if test $arch = "x86_64"; then
2327 # We can share the same code for gcc with x86_32
2330 if test $arch = "powerpc"; then
2332 # The MacOS (and maybe others) uses "r0" for register
2333 # zero. Under linux/ibm it is "0" for register 0.
2334 # Probe to see if we have a MacOS style assembler.
2336 AC_MSG_CHECKING([Checking for MacOS style assembler syntax])
2338 __asm__ volatile ("li r0, 0x0\n"::);
2342 ISC_PLATFORM_USEMACASM="#define ISC_PLATFORM_USEMACASM 1"
2343 ], [AC_MSG_RESULT(no)])
2348 # Tru64 compiler has its own syntax for inline
2352 #error "unexpected compiler"
2364 ISC_PLATFORM_USEGCCASM="#define ISC_PLATFORM_USEGCCASM 1"
2367 ISC_PLATFORM_USEOSFASM="#define ISC_PLATFORM_USEOSFASM 1"
2374 # See if the generic __asm function works. If not,
2375 # we need to disable the atomic operations.
2379 [compiler="standard"
2380 ISC_PLATFORM_USESTDASM="#define ISC_PLATFORM_USESTDASM 1"],
2381 [compiler="not supported (atomic operations disabled)"
2387 AC_MSG_RESULT($compiler)
2390 if test "$have_atomic" = "yes"; then
2391 ISC_PLATFORM_HAVEXADD="#define ISC_PLATFORM_HAVEXADD 1"
2392 ISC_PLATFORM_HAVECMPXCHG="#define ISC_PLATFORM_HAVECMPXCHG 1"
2393 ISC_PLATFORM_HAVEATOMICSTORE="#define ISC_PLATFORM_HAVEATOMICSTORE 1"
2395 ISC_PLATFORM_HAVEXADD="#undef ISC_PLATFORM_HAVEXADD"
2396 ISC_PLATFORM_HAVECMPXCHG="#undef ISC_PLATFORM_HAVECMPXCHG"
2397 ISC_PLATFORM_HAVEATOMICSTORE="#undef ISC_PLATFORM_HAVEATOMICSTORE"
2400 if test "$have_xaddq" = "yes"; then
2401 ISC_PLATFORM_HAVEXADDQ="#define ISC_PLATFORM_HAVEXADDQ 1"
2403 ISC_PLATFORM_HAVEXADDQ="#undef ISC_PLATFORM_HAVEXADDQ"
2406 AC_SUBST(ISC_PLATFORM_HAVEXADD)
2407 AC_SUBST(ISC_PLATFORM_HAVEXADDQ)
2408 AC_SUBST(ISC_PLATFORM_HAVECMPXCHG)
2409 AC_SUBST(ISC_PLATFORM_HAVEATOMICSTORE)
2411 AC_SUBST(ISC_PLATFORM_USEGCCASM)
2412 AC_SUBST(ISC_PLATFORM_USEOSFASM)
2413 AC_SUBST(ISC_PLATFORM_USESTDASM)
2414 AC_SUBST(ISC_PLATFORM_USEMACASM)
2417 AC_SUBST(ISC_ARCH_DIR)
2420 # Activate "rrset-order fixed" or not?
2422 AC_ARG_ENABLE(fixed-rrset,
2423 [ --enable-fixed-rrset enable fixed rrset ordering
2425 enable_fixed="$enableval",
2427 case "$enable_fixed" in
2429 AC_DEFINE(DNS_RDATASET_FIXED, 1,
2430 [Define to enable "rrset-order fixed" syntax.])
2439 # The following sets up how non-blocking i/o is established.
2440 # Sunos, cygwin and solaris 2.x (x<5) require special handling.
2443 *-sunos*) AC_DEFINE(PORT_NONBLOCK, O_NDELAY);;
2444 *-cygwin*) AC_DEFINE(PORT_NONBLOCK, O_NDELAY);;
2445 *-solaris2.[[01234]])
2446 AC_DEFINE(PORT_NONBLOCK, O_NONBLOCK)
2447 AC_DEFINE(USE_FIONBIO_IOCTL, 1,
2448 [Defined if you need to use ioctl(FIONBIO) instead a fcntl call to make non-blocking.])
2450 *) AC_DEFINE(PORT_NONBLOCK, O_NONBLOCK,
2451 [Sets which flag to pass to open/fcntl to make non-blocking (O_NDELAY/O_NONBLOCK).])
2455 # Solaris 2.5.1 and earlier cannot bind() then connect() a TCP socket.
2456 # This prevents the source address being set.
2459 *-solaris2.[[012345]]|*-solaris2.5.1)
2460 AC_DEFINE(BROKEN_TCP_BIND_BEFORE_CONNECT, 1,
2461 [Define if you cannot bind() before connect() for TCP sockets.])
2465 # The following sections deal with tools used for formatting
2466 # the documentation. They are all optional, unless you are
2467 # a developer editing the documentation source.
2474 AC_PATH_PROGS(LATEX, latex, latex)
2477 AC_PATH_PROGS(PDFLATEX, pdflatex, pdflatex)
2484 AC_PATH_PROGS(W3M, w3m, w3m)
2488 # Look for xsltproc (libxslt)
2491 AC_PATH_PROG(XSLTPROC, xsltproc, xsltproc)
2495 # Look for xmllint (libxml2)
2498 AC_PATH_PROG(XMLLINT, xmllint, xmllint)
2505 AC_PATH_PROG(DOXYGEN, doxygen, doxygen)
2509 # Subroutine for searching for an ordinary file (e.g., a stylesheet)
2510 # in a number of directories:
2512 # NOM_PATH_FILE(VARIABLE, FILENAME, DIRECTORIES)
2514 # If the file FILENAME is found in one of the DIRECTORIES, the shell
2515 # variable VARIABLE is defined to its absolute pathname. Otherwise,
2516 # it is set to FILENAME, with no directory prefix (that's not terribly
2517 # useful, but looks less confusing in substitutions than leaving it
2518 # empty). The variable VARIABLE will be substituted into output files.
2521 AC_DEFUN(NOM_PATH_FILE, [
2523 AC_MSG_CHECKING(for $2)
2534 if test "X[$]$1" = "X"
2536 AC_MSG_RESULT("not found");
2543 # Look for Docbook-XSL stylesheets. Location probably varies by system.
2544 # If it's not explicitly specified, guess where it might be found, based on
2545 # where SGML stuff lives on some systems (FreeBSD is the only one we're sure
2546 # of at the moment).
2548 AC_MSG_CHECKING(for Docbook-XSL path)
2549 AC_ARG_WITH(docbook-xsl,
2550 [ --with-docbook-xsl=PATH Specify path for Docbook-XSL stylesheets],
2551 docbook_path="$withval", docbook_path="auto")
2552 case "$docbook_path" in
2555 docbook_xsl_trees="/usr/pkg/share/xsl/docbook /usr/local/share/xsl/docbook /usr/share/xsl/docbook"
2558 docbook_xsl_trees="$withval"
2559 AC_MSG_RESULT($docbook_xsl_trees)
2564 # Look for stylesheets we need.
2567 NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_HTML, html/docbook.xsl, $docbook_xsl_trees)
2568 NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_XHTML, xhtml/docbook.xsl, $docbook_xsl_trees)
2569 NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_MAN, manpages/docbook.xsl, $docbook_xsl_trees)
2570 NOM_PATH_FILE(XSLT_DOCBOOK_CHUNK_HTML, html/chunk.xsl, $docbook_xsl_trees)
2571 NOM_PATH_FILE(XSLT_DOCBOOK_CHUNK_XHTML, xhtml/chunk.xsl, $docbook_xsl_trees)
2572 NOM_PATH_FILE(XSLT_DOCBOOK_CHUNKTOC_HTML, html/chunktoc.xsl, $docbook_xsl_trees)
2573 NOM_PATH_FILE(XSLT_DOCBOOK_CHUNKTOC_XHTML, xhtml/chunktoc.xsl, $docbook_xsl_trees)
2574 NOM_PATH_FILE(XSLT_DOCBOOK_MAKETOC_HTML, html/maketoc.xsl, $docbook_xsl_trees)
2575 NOM_PATH_FILE(XSLT_DOCBOOK_MAKETOC_XHTML, xhtml/maketoc.xsl, $docbook_xsl_trees)
2578 # Same dance for db2latex
2580 # No idea where this lives except on FreeBSD.
2583 db2latex_xsl_trees="/usr/local/share"
2586 # Look for stylesheets we need.
2589 NOM_PATH_FILE(XSLT_DB2LATEX_STYLE, db2latex/xsl/docbook.xsl, $db2latex_xsl_trees)
2592 # Look for "admonition" image directory. Can't use NOM_PATH_FILE()
2593 # because it's a directory, so just do the same things, inline.
2596 AC_MSG_CHECKING(for db2latex/xsl/figures)
2597 for d in $db2latex_xsl_trees
2599 dd=$d/db2latex/xsl/figures
2602 XSLT_DB2LATEX_ADMONITIONS=$dd
2607 if test "X$XSLT_DB2LATEX_ADMONITIONS" = "X"
2609 AC_MSG_RESULT(not found)
2610 XSLT_DB2LATEX_ADMONITIONS=db2latex/xsl/figures
2612 AC_SUBST(XSLT_DB2LATEX_ADMONITIONS)
2618 [ --with-idn[=MPREFIX] enable IDN support using idnkit [default PREFIX]],
2619 use_idn="$withval", use_idn="no")
2622 if test X$prefix = XNONE ; then
2637 AC_ARG_WITH(libiconv,
2638 [ --with-libiconv[=IPREFIX] GNU libiconv are in IPREFIX [default PREFIX]],
2639 use_libiconv="$withval", use_libiconv="no")
2640 case "$use_libiconv" in
2642 if test X$prefix = XNONE ; then
2643 iconvlib="-L/usr/local/lib -R/usr/local/lib -liconv"
2645 iconvlib="-L$prefix/lib -R$prefix/lib -liconv"
2652 iconvlib="-L$use_libiconv/lib -R$use_libiconv/lib -liconv"
2657 [ --with-iconv[=LIBSPEC] specify iconv library [default -liconv]],
2658 iconvlib="$withval")
2669 [ --with-idnlib=ARG specify libidnkit],
2670 idnlib="$withval", idnlib="no")
2671 if test "$idnlib" = yes; then
2672 AC_MSG_ERROR([You must specify ARG for --with-idnlib.])
2676 if test "$use_idn" != no; then
2677 AC_DEFINE(WITH_IDN, 1, [define if idnkit support is to be included.])
2678 STD_CINCLUDES="$STD_CINCLUDES -I$idn_path/include"
2679 if test "$idnlib" != no; then
2680 IDNLIBS="$idnlib $iconvlib"
2682 IDNLIBS="-L$idn_path/lib -lidnkit $iconvlib"
2687 AC_CHECK_HEADERS(locale.h)
2688 AC_CHECK_FUNCS(setlocale)
2693 AC_SUBST(BIND9_TOP_BUILDDIR)
2694 BIND9_TOP_BUILDDIR=`pwd`
2696 AC_SUBST(BIND9_ISC_BUILDINCLUDE)
2697 AC_SUBST(BIND9_ISCCC_BUILDINCLUDE)
2698 AC_SUBST(BIND9_ISCCFG_BUILDINCLUDE)
2699 AC_SUBST(BIND9_DNS_BUILDINCLUDE)
2700 AC_SUBST(BIND9_LWRES_BUILDINCLUDE)
2701 AC_SUBST(BIND9_BIND9_BUILDINCLUDE)
2702 if test "X$srcdir" != "X"; then
2703 BIND9_ISC_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isc/include"
2704 BIND9_ISCCC_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isccc/include"
2705 BIND9_ISCCFG_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isccfg/include"
2706 BIND9_DNS_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/dns/include"
2707 BIND9_LWRES_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/lwres/include"
2708 BIND9_BIND9_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/bind9/include"
2710 BIND9_ISC_BUILDINCLUDE=""
2711 BIND9_ISCCC_BUILDINCLUDE=""
2712 BIND9_ISCCFG_BUILDINCLUDE=""
2713 BIND9_DNS_BUILDINCLUDE=""
2714 BIND9_LWRES_BUILDINCLUDE=""
2715 BIND9_BIND9_BUILDINCLUDE=""
2718 AC_SUBST_FILE(BIND9_MAKE_INCLUDES)
2719 BIND9_MAKE_INCLUDES=$BIND9_TOP_BUILDDIR/make/includes
2721 AC_SUBST_FILE(BIND9_MAKE_RULES)
2722 BIND9_MAKE_RULES=$BIND9_TOP_BUILDDIR/make/rules
2725 BIND9_VERSION="VERSION=${MAJORVER}.${MINORVER}${PATCHVER:+.}${PATCHVER}${RELEASETYPE}${RELEASEVER}"
2726 AC_SUBST(BIND9_VERSION)
2728 if test -z "$ac_configure_args"; then
2729 BIND9_CONFIGARGS="defaults"
2731 for a in $ac_configure_args
2733 BIND9_CONFIGARGS="$BIND9_CONFIGARGS $a"
2736 BIND9_CONFIGARGS="`echo $BIND9_CONFIGARGS | sed 's/^ //'`"
2737 BIND9_CONFIGARGS="CONFIGARGS=${BIND9_CONFIGARGS}"
2738 AC_SUBST(BIND9_CONFIGARGS)
2740 AC_SUBST_FILE(LIBISC_API)
2741 LIBISC_API=$srcdir/lib/isc/api
2743 AC_SUBST_FILE(LIBISCCC_API)
2744 LIBISCCC_API=$srcdir/lib/isccc/api
2746 AC_SUBST_FILE(LIBISCCFG_API)
2747 LIBISCCFG_API=$srcdir/lib/isccfg/api
2749 AC_SUBST_FILE(LIBDNS_API)
2750 LIBDNS_API=$srcdir/lib/dns/api
2752 AC_SUBST_FILE(LIBBIND9_API)
2753 LIBBIND9_API=$srcdir/lib/bind9/api
2755 AC_SUBST_FILE(LIBLWRES_API)
2756 LIBLWRES_API=$srcdir/lib/lwres/api
2759 # Configure any DLZ drivers.
2761 # If config.dlz.in selects one or more DLZ drivers, it will set
2762 # USE_DLZ to a non-empty value, which will be our clue to
2763 # enable the DLZ core functions.
2765 # This section has to come after the libtool stuff because it needs to
2766 # know how to name the driver object files.
2770 DLZ_DRIVER_INCLUDES=""
2775 sinclude(contrib/dlz/config.dlz.in)
2777 AC_MSG_CHECKING(for DLZ)
2779 if test -n "$USE_DLZ"
2782 USE_DLZ="-DDLZ $USE_DLZ"
2783 DLZ_DRIVER_RULES=contrib/dlz/drivers/rules
2784 AC_CONFIG_FILES([$DLZ_DRIVER_RULES])
2787 DLZ_DRIVER_RULES=/dev/null
2791 AC_SUBST(DLZ_DRIVER_INCLUDES)
2792 AC_SUBST(DLZ_DRIVER_LIBS)
2793 AC_SUBST(DLZ_DRIVER_SRCS)
2794 AC_SUBST(DLZ_DRIVER_OBJS)
2795 AC_SUBST_FILE(DLZ_DRIVER_RULES)
2797 if test "$cross_compiling" = "yes"; then
2798 if test -z "$BUILD_CC"; then
2799 AC_ERROR([BUILD_CC not set])
2801 BUILD_CFLAGS="$BUILD_CFLAGS"
2802 BUILD_CPPFLAGS="$BUILD_CPPFLAGS"
2803 BUILD_LDFLAGS="$BUILD_LDFLAGS"
2804 BUILD_LIBS="$BUILD_LIBS"
2807 BUILD_CFLAGS="$CFLAGS"
2808 BUILD_CPPFLAGS="$CPPFLAGS $GEN_NEED_OPTARG"
2809 BUILD_LDFLAGS="$LDFLAGS"
2814 for e in $BUILD_LDFLAGS ; do
2819 ee=`echo $e | sed -e 's%^-L%-Wl,-rpath,%'`
2820 NEWFLAGS="$NEWFLAGS $e $ee"
2823 ee=`echo $e | sed -e 's%^-L%-Wl,-rpath,%'`
2824 NEWFLAGS="$NEWFLAGS $e $ee"
2827 ee=`echo $e | sed -e 's%^-L%-R%'`
2828 NEWFLAGS="$NEWFLAGS $e $ee"
2831 NEWFLAGS="$NEWFLAGS $e"
2836 NEWFLAGS="$NEWFLAGS $e"
2840 BUILD_LDFLAGS="$NEWFLAGS"
2843 for e in $DNS_GSSAPI_LIBS ; do
2848 ee=`echo $e | sed -e 's%^-L%-Wl,-rpath,%'`
2849 NEWFLAGS="$NEWFLAGS $e $ee"
2852 ee=`echo $e | sed -e 's%^-L%-Wl,-rpath,%'`
2853 NEWFLAGS="$NEWFLAGS $e $ee"
2856 ee=`echo $e | sed -e 's%^-L%-R%'`
2857 NEWFLAGS="$NEWFLAGS $e $ee"
2860 NEWFLAGS="$NEWFLAGS $e"
2865 NEWFLAGS="$NEWFLAGS $e"
2869 DNS_GSSAPI_LIBS="$NEWFLAGS"
2872 for e in $DNS_CRYPTO_LIBS ; do
2877 ee=`echo $e | sed -e 's%^-L%-Wl,-rpath,%'`
2878 NEWFLAGS="$NEWFLAGS $e $ee"
2881 ee=`echo $e | sed -e 's%^-L%-Wl,-rpath,%'`
2882 NEWFLAGS="$NEWFLAGS $e $ee"
2885 ee=`echo $e | sed -e 's%^-L%-R%'`
2886 NEWFLAGS="$NEWFLAGS $e $ee"
2889 NEWFLAGS="$NEWFLAGS $e"
2894 NEWFLAGS="$NEWFLAGS $e"
2898 DNS_CRYPTO_LIBS="$NEWFLAGS"
2901 AC_SUBST(BUILD_CFLAGS)
2902 AC_SUBST(BUILD_CPPFLAGS)
2903 AC_SUBST(BUILD_LDFLAGS)
2904 AC_SUBST(BUILD_LIBS)
2907 # Commands to run at the end of config.status.
2908 # Don't just put these into configure, it won't work right if somebody
2909 # runs config.status directly (which autoconf allows).
2914 [chmod a+x isc-config.sh doc/doxygen/doxygen-input-filter])
2917 # Files to configure. These are listed here because we used to
2918 # specify them as arguments to AC_OUTPUT. It's (now) ok to move these
2919 # elsewhere if there's a good reason for doing so.
2928 lib/isc/include/Makefile
2929 lib/isc/include/isc/Makefile
2930 lib/isc/include/isc/platform.h
2931 lib/isc/unix/Makefile
2932 lib/isc/unix/include/Makefile
2933 lib/isc/unix/include/isc/Makefile
2934 lib/isc/nls/Makefile
2935 lib/isc/$thread_dir/Makefile
2936 lib/isc/$thread_dir/include/Makefile
2937 lib/isc/$thread_dir/include/isc/Makefile
2938 lib/isc/$arch/Makefile
2939 lib/isc/$arch/include/Makefile
2940 lib/isc/$arch/include/isc/Makefile
2942 lib/isccc/include/Makefile
2943 lib/isccc/include/isccc/Makefile
2945 lib/isccfg/include/Makefile
2946 lib/isccfg/include/isccfg/Makefile
2948 lib/dns/include/Makefile
2949 lib/dns/include/dns/Makefile
2950 lib/dns/include/dst/Makefile
2952 lib/bind9/include/Makefile
2953 lib/bind9/include/bind9/Makefile
2955 lib/lwres/include/Makefile
2956 lib/lwres/include/lwres/Makefile
2957 lib/lwres/include/lwres/netdb.h
2958 lib/lwres/include/lwres/platform.h
2959 lib/lwres/man/Makefile
2960 lib/lwres/unix/Makefile
2961 lib/lwres/unix/include/Makefile
2962 lib/lwres/unix/include/lwres/Makefile
2964 lib/tests/include/Makefile
2965 lib/tests/include/tests/Makefile
2969 bin/named/unix/Makefile
2971 bin/rndc/unix/Makefile
2973 bin/nsupdate/Makefile
2975 bin/tests/names/Makefile
2976 bin/tests/master/Makefile
2977 bin/tests/rbt/Makefile
2978 bin/tests/db/Makefile
2979 bin/tests/tasks/Makefile
2980 bin/tests/timers/Makefile
2981 bin/tests/dst/Makefile
2982 bin/tests/mem/Makefile
2983 bin/tests/net/Makefile
2984 bin/tests/sockaddr/Makefile
2985 bin/tests/system/Makefile
2986 bin/tests/system/conf.sh
2987 bin/tests/system/lwresd/Makefile
2988 bin/tests/system/tkey/Makefile
2989 bin/tests/headerdep_test.sh
2996 doc/xsl/isc-docbook-chunk.xsl
2997 doc/xsl/isc-docbook-html.xsl
2998 doc/xsl/isc-docbook-latex.xsl
2999 doc/xsl/isc-manpage.xsl
3000 doc/doxygen/Doxyfile
3001 doc/doxygen/Makefile
3002 doc/doxygen/doxygen-input-filter
3011 if test "X$USE_OPENSSL" = "X"; then
3013 BIND is being built without OpenSSL. This means it will not have DNSSEC support.
3017 if test "X$OPENSSL_WARNING" != "X"; then
3019 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
3020 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
3022 WARNING Your OpenSSL crypto library may be vulnerable to WARNING
3023 WARNING one or more of the the following known security WARNING
3024 WARNING flaws: WARNING
3026 WARNING CAN-2002-0659, CAN-2006-4339, CVE-2006-2937 and WARNING
3027 WARNING CVE-2006-2940. WARNING
3029 WARNING It is recommended that you upgrade to OpenSSL WARNING
3030 WARNING version 0.9.8d/0.9.7l (or greater). WARNING
3032 WARNING You can disable this warning by specifying: WARNING
3034 WARNING --disable-openssl-version-check WARNING
3036 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
3037 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
3041 # Tell Emacs to edit this file in shell mode.