1 # Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
2 # Copyright (C) 1998-2003 Internet Software Consortium.
4 # Permission to use, copy, modify, and 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.294.2.23.2.51.4.3 $)
23 AC_INIT(lib/dns/name.c)
26 AC_CONFIG_HEADER(config.h)
27 AC_CONFIG_SUBDIRS(lib/bind)
35 AC_SUBST(STD_CINCLUDES)
36 AC_SUBST(STD_CDEFINES)
37 AC_SUBST(STD_CWARNINGS)
45 # The POSIX ln(1) program. Non-POSIX systems may substitute
46 # "copy" or something.
53 ar program not found. Please fix your PATH to include the directory in
54 which ar resides, or set AR in the environment with the full path to ar.
63 AC_PATH_PROGS(ETAGS, etags emacs-etags)
66 # Some systems, e.g. RH7, have the Exuberant Ctags etags instead of
67 # GNU emacs etags, and it requires the -L flag.
69 if test "X$ETAGS" != "X"; then
70 AC_MSG_CHECKING(for Exuberant Ctags etags)
71 if $ETAGS --version 2>&1 | grep 'Exuberant Ctags' >/dev/null 2>&1; then
81 # Perl is optional; it is used only by some of the system test scripts.
83 AC_PATH_PROGS(PERL, perl5 perl)
87 # Special processing of paths depending on whether --prefix,
88 # --sysconfdir or --localstatedir arguments were given. What's
89 # desired is some compatibility with the way previous versions
90 # of BIND built; they defaulted to /usr/local for most parts of
91 # the installation, but named.boot/named.conf was in /etc
92 # and named.pid was in /var/run.
94 # So ... if none of --prefix, --sysconfdir or --localstatedir are
95 # specified, set things up that way. If --prefix is given, use
96 # it for sysconfdir and localstatedir the way configure normally
97 # would. To change the prefix for everything but leave named.conf
98 # in /etc or named.pid in /var/run, then do this the usual configure way:
99 # ./configure --prefix=/somewhere --sysconfdir=/etc
100 # ./configure --prefix=/somewhere --localstatedir=/var
102 # To put named.conf and named.pid in /usr/local with everything else,
103 # set the prefix explicitly to /usr/local even though that's the default:
104 # ./configure --prefix=/usr/local
108 case "$sysconfdir" in
113 case "$localstatedir" in
122 # Make sure INSTALL uses an absolute path, else it will be wrong in all
123 # Makefiles, since they use make/rules.in and INSTALL will be adjusted by
124 # configure based on the location of the file where it is substituted.
125 # Since in BIND9 INSTALL is only substituted into make/rules.in, an immediate
126 # subdirectory of install-sh, This relative path will be wrong for all
127 # directories more than one level down from install-sh.
134 # Not all systems have dirname.
137 ac_dir="`echo $INSTALL | sed 's%/[^/]*$%%'`"
140 ac_prog="`echo $INSTALL | sed 's%.*/%%'`"
141 test "$ac_dir" = "$ac_prog" && ac_dir=.
142 test -d "$ac_dir" && ac_dir="`(cd \"$ac_dir\" && pwd)`"
143 INSTALL="$ac_dir/$ac_prog"
148 # On these hosts, we really want to use cc, not gcc, even if it is
149 # found. The gcc that these systems have will not correctly handle
152 # However, if the user sets $CC to be something, let that override
155 if test "X$CC" = "X" ; then
161 # Use Sun's cc if it is available, but watch
162 # out for /usr/ucb/cc; it will never be the right
165 # If setting CC here fails, the AC_PROG_CC done
166 # below might still find gcc.
167 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
168 for ac_dir in $PATH; do
169 test -z "$ac_dir" && ac_dir=.
175 if test -f "$ac_dir/cc"; then
196 # gcc's optimiser is broken at -02 for ultrasparc
198 if test "$ac_env_CFLAGS_set" != set -a "X$GCC" = "Xyes"; then
207 # OS dependent CC flags
210 # OSF 5.0: recv/send are only avaliable with -D_POSIX_PII_SOCKET or
211 # -D_XOPEN_SOURCE_EXTENDED.
213 STD_CDEFINES="$STD_CDEFINES -D_POSIX_PII_SOCKET"
214 CPPFLAGS="$CPPFLAGS -D_POSIX_PII_SOCKET"
216 #HP-UX: need -D_XOPEN_SOURCE_EXTENDED and -lxnet for CMSG macros
218 STD_CDEFINES="$STD_CDEFINES -D_XOPEN_SOURCE_EXTENDED"
219 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
222 # Solaris: need -D_XPG4_2 and -D__EXTENSIONS__ for CMSG macros
224 STD_CDEFINES="$STD_CDEFINES -D_XPG4_2 -D__EXTENSIONS__"
225 CPPFLAGS="$CPPFLAGS -D_XPG4_2 -D__EXTENSIONS__"
231 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,,,
232 [$ac_includes_default
233 #ifdef HAVE_SYS_PARAM_H
234 # include <sys/param.h>
240 AC_CHECK_FUNC(sysctlbyname, AC_DEFINE(HAVE_SYSCTLBYNAME))
243 # UnixWare 7.1.1 with the feature supplement to the UDK compiler
244 # is reported to not support "static inline" (RT #1212).
246 AC_MSG_CHECKING(for static inline breakage)
251 static inline int foo1() {
255 static inline int foo2() {
260 AC_DEFINE(inline, )])
263 AC_CHECK_TYPE(ssize_t, int)
264 AC_CHECK_TYPE(uintptr_t,unsigned long)
265 AC_CHECK_TYPE(socklen_t,
266 [AC_DEFINE(ISC_SOCKADDR_LEN_T, socklen_t)],
270 #include <sys/types.h>
271 #include <sys/socket.h>
272 int getsockname(int, struct sockaddr *, size_t *);
274 [AC_DEFINE(ISC_SOCKADDR_LEN_T, size_t)],
275 [AC_DEFINE(ISC_SOCKADDR_LEN_T, int)])
278 #include <sys/types.h>
279 #include <sys/socket.h>
281 AC_SUBST(ISC_SOCKADDR_LEN_T)
283 AC_MSG_CHECKING(for long long)
284 AC_TRY_COMPILE([],[long long i = 0; return (0);],
286 ISC_PLATFORM_HAVELONGLONG="#define ISC_PLATFORM_HAVELONGLONG 1"],
288 ISC_PLATFORM_HAVELONGLONG="#undef ISC_PLATFORM_HAVELONGLONG"])
289 AC_SUBST(ISC_PLATFORM_HAVELONGLONG)
292 # check if we have lifconf
294 AC_MSG_CHECKING(for struct lifconf)
296 #include <sys/types.h>
297 #include <sys/socket.h>
301 struct lifconf lifconf;
302 lifconf.lifc_len = 0;
306 ISC_PLATFORM_HAVELIFCONF="#define ISC_PLATFORM_HAVELIFCONF 1"],
308 ISC_PLATFORM_HAVELIFCONF="#undef ISC_PLATFORM_HAVELIFCONF"])
309 AC_SUBST(ISC_PLATFORM_HAVELIFCONF)
313 # check if we need to #include sys/select.h explicitly
315 case $ac_cv_header_unistd_h in
317 AC_MSG_CHECKING(if unistd.h or sys/types.h defines fd_set)
319 #include <sys/types.h> /* Ultrix */
320 #include <unistd.h>],
321 [fd_set read_set; return (0);],
323 ISC_PLATFORM_NEEDSYSSELECTH="#undef ISC_PLATFORM_NEEDSYSSELECTH"
324 LWRES_PLATFORM_NEEDSYSSELECTH="#undef LWRES_PLATFORM_NEEDSYSSELECTH"],
326 case $ac_cv_header_sys_select_h in
328 ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
329 LWRES_PLATFORM_NEEDSYSSELECTH="#define LWRES_PLATFORM_NEEDSYSSELECTH 1"
332 AC_MSG_ERROR([need either working unistd.h or sys/select.h])
338 case $ac_cv_header_sys_select_h in
340 ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
341 LWRES_PLATFORM_NEEDSYSSELECTH="#define LWRES_PLATFORM_NEEDSYSSELECTH 1"
344 AC_MSG_ERROR([need either unistd.h or sys/select.h])
349 AC_SUBST(ISC_PLATFORM_NEEDSYSSELECTH)
350 AC_SUBST(LWRES_PLATFORM_NEEDSYSSELECTH)
353 # Find the machine's endian flavor.
358 # was --with-openssl specified?
361 AC_MSG_CHECKING(for OpenSSL library)
363 [ --with-openssl[=PATH] Build with OpenSSL [yes|no|path].
364 (Required for DNSSEC)],
365 use_openssl="$withval", use_openssl="auto")
367 openssldirs="/usr /usr/local /usr/local/ssl /usr/pkg"
368 if test "$use_openssl" = "auto"
370 for d in $openssldirs
372 if test -f $d/include/openssl/opensslv.h
379 case "$use_openssl" in
388 AC_MSG_RESULT(not found)
391 if test "$use_openssl" = "yes"
393 # User did not specify a path - guess it
394 for d in $openssldirs
396 if test -f $d/include/openssl/opensslv.h
402 if test "$use_openssl" = "yes"
404 AC_MSG_RESULT(not found)
406 [OpenSSL was not found in any of $openssldirs; use --with-openssl=/path])
409 USE_OPENSSL='-DOPENSSL'
410 if test "$use_openssl" = "/usr"
413 DNS_OPENSSL_LIBS="-lcrypto"
415 DST_OPENSSL_INC="-I$use_openssl/include"
418 DNS_OPENSSL_LIBS="-L$use_openssl/lib -R$use_openssl/lib -lcrypto"
421 DNS_OPENSSL_LIBS="-L$use_openssl/lib -lcrypto"
425 AC_MSG_RESULT(using openssl from $use_openssl/lib and $use_openssl/include)
427 saved_cflags="$CFLAGS"
429 CFLAGS="$CFLAGS $DST_OPENSSL_INC"
430 LIBS="$LIBS $DNS_OPENSSL_LIBS"
431 AC_MSG_CHECKING(whether linking with OpenSSL works)
433 #include <openssl/err.h>
439 [AC_MSG_RESULT(yes)],
441 AC_MSG_ERROR(Could not run test program using OpenSSL from
442 $use_openssl/lib and $use_openssl/include.
443 Please check the argument to --with-openssl and your
444 shared library configuration (e.g., LD_LIBRARY_PATH).)],
445 [AC_MSG_RESULT(assuming it does work on target platform)])
447 AC_MSG_CHECKING(whether linking with OpenSSL requires -ldl)
449 #include <openssl/err.h>],
450 [ DSO_METHOD_dlfcn(); ],
454 #include <openssl/err.h>
455 ],[ DSO_METHOD_dlfcn(); ],
457 DNS_OPENSSL_LIBS="$DNS_OPENSSL_LIBS -ldl"
459 [AC_MSG_RESULT(unknown)
460 AC_MSG_ERROR(OpenSSL has unsupported dynamic loading)],
461 [AC_MSG_RESULT(assuming it does work on target platform)])
463 [AC_MSG_RESULT(assuming it does work on target platform)]
466 AC_ARG_ENABLE(openssl-version-check,
467 [AC_HELP_STRING([--enable-openssl-version-check],
468 [Check OpenSSL Version @<:@default=yes@:>@])])
469 case "$enable_openssl_version_check" in
471 AC_MSG_CHECKING(OpenSSL library version)
474 #include <openssl/opensslv.h>
476 if ((OPENSSL_VERSION_NUMBER >= 0x009070cfL &&
477 OPENSSL_VERSION_NUMBER < 0x009080000L) ||
478 OPENSSL_VERSION_NUMBER >= 0x0090804fL)
480 printf("\n\nFound OPENSSL_VERSION_NUMBER %#010x\n",
481 OPENSSL_VERSION_NUMBER);
482 printf("Require OPENSSL_VERSION_NUMBER 0x009070cf or greater (0.9.7l)\n"
483 "Require OPENSSL_VERSION_NUMBER 0x0090804f or greater (0.9.8d)\n\n");
488 [AC_MSG_RESULT(not compatible)
491 [AC_MSG_RESULT(assuming target platform has compatible version)])
494 AC_MSG_RESULT(Skipped OpenSSL version check)
498 AC_MSG_CHECKING(for OpenSSL DSA support)
499 if test -f $use_openssl/include/openssl/dsa.h
501 AC_DEFINE(HAVE_OPENSSL_DSA)
506 CFLAGS="$saved_cflags"
512 # This would include the system openssl path (and linker options to use
513 # it as needed) if it is found.
516 AC_SUBST(USE_OPENSSL)
517 AC_SUBST(DST_OPENSSL_INC)
518 DNS_CRYPTO_LIBS="$DNS_CRYPTO_LIBS $DNS_OPENSSL_LIBS"
521 # was --with-gssapi specified?
523 #AC_MSG_CHECKING(for GSSAPI library)
525 #[ --with-gssapi=PATH Specify path for system-supplied GSSAPI],
526 # use_gssapi="$withval", use_gssapi="no")
528 #case "$use_gssapi" in
533 # AC_MSG_RESULT(not specified)
536 # AC_MSG_ERROR([--with-gssapi must specify a path])
539 # USE_GSSAPI='-DGSSAPI'
540 # DST_GSSAPI_INC="-I$use_gssapi/include"
541 # DNS_GSSAPI_LIBS="-L$use_gssapi/lib -lgssapi_krb5"
542 # AC_MSG_RESULT(using gssapi from $use_gssapi/lib and $use_gssapi/include)
551 AC_SUBST(DST_GSSAPI_INC)
552 DNS_CRYPTO_LIBS="$DNS_CRYPTO_LIBS $DNS_GSSAPI_LIBS"
555 # Applications linking with libdns also need to link with these libraries.
558 AC_SUBST(DNS_CRYPTO_LIBS)
561 # was --with-randomdev specified?
563 AC_MSG_CHECKING(for random device)
564 AC_ARG_WITH(randomdev,
565 [ --with-randomdev=PATH Specify path for random device],
566 use_randomdev="$withval", use_randomdev="unspec")
568 case "$use_randomdev" in
572 devrandom=/dev/arandom
575 devrandom=/dev/random
578 AC_MSG_RESULT($devrandom)
579 AC_CHECK_FILE($devrandom,
580 AC_DEFINE_UNQUOTED(PATH_RANDOMDEV,
584 AC_MSG_ERROR([--with-randomdev must specify a path])
587 AC_MSG_RESULT(disabled)
590 AC_DEFINE_UNQUOTED(PATH_RANDOMDEV, "$use_randomdev")
591 AC_MSG_RESULT(using "$use_randomdev")
596 # Do we have arc4random() ?
598 AC_CHECK_FUNC(arc4random, AC_DEFINE(HAVE_ARC4RANDOM))
600 sinclude(config.threads.in)dnl
605 # We'd like to use sigwait() too
607 AC_CHECK_LIB(c, sigwait,
608 AC_DEFINE(HAVE_SIGWAIT),
609 AC_CHECK_LIB(pthread, sigwait,
610 AC_DEFINE(HAVE_SIGWAIT),
611 AC_CHECK_LIB(pthread, _Psigwait,
612 AC_DEFINE(HAVE_SIGWAIT),))
615 AC_CHECK_FUNC(pthread_attr_getstacksize,
616 AC_DEFINE(HAVE_PTHREAD_ATTR_GETSTACKSIZE),)
618 AC_CHECK_FUNC(pthread_attr_setstacksize,
619 AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE),)
622 # Additional OS-specific issues related to pthreads and sigwait.
626 # One more place to look for sigwait.
629 AC_CHECK_LIB(c_r, sigwait, AC_DEFINE(HAVE_SIGWAIT),)
631 *-freebsd5.[[012]]|*-freebsd5.[[012]].*);;
632 *-freebsd5.[[3456789]]|*-freebsd5.[[3456789]].*)
633 AC_DEFINE(NEED_PTHREAD_SCOPE_SYSTEM)
636 AC_DEFINE(NEED_PTHREAD_SCOPE_SYSTEM)
641 # BSDI 3.0 through 4.0.1 needs pthread_init() to be
642 # called before certain pthreads calls. This is deprecated
645 *-bsdi3.*|*-bsdi4.0*)
646 AC_DEFINE(NEED_PTHREAD_INIT)
649 # LinuxThreads requires some changes to the way we
653 AC_DEFINE(HAVE_LINUXTHREADS)
656 # Ensure the right sigwait() semantics on Solaris and make
657 # sure we call pthread_setconcurrency.
660 AC_DEFINE(_POSIX_PTHREAD_SEMANTICS)
661 AC_CHECK_FUNC(pthread_setconcurrency,
662 AC_DEFINE(CALL_PTHREAD_SETCONCURRENCY))
665 # UnixWare does things its own way.
667 *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
668 AC_DEFINE(HAVE_UNIXWARE_SIGWAIT)
673 # Look for sysconf to allow detection of the number of processors.
675 AC_CHECK_FUNC(sysconf, AC_DEFINE(HAVE_SYSCONF),)
677 if test "X$GCC" = "Xyes"; then
681 CCOPT="$CCOPT -pthread"
682 STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
686 CCOPT="$CCOPT -pthread"
689 LIBS="$LIBS -lthread"
692 STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
699 CCOPT="$CCOPT -pthread"
706 STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
708 *-sco-sysv*uw*|*-*-sysv*UnixWare*)
710 CCOPT="$CCOPT -Kthread"
714 CCOPT="$CCOPT -Kpthread"
718 ALWAYS_DEFINES="-D_REENTRANT"
719 ISC_PLATFORM_USETHREADS="#define ISC_PLATFORM_USETHREADS 1"
722 ISC_PLATFORM_USETHREADS="#undef ISC_PLATFORM_USETHREADS"
727 AC_SUBST(ALWAYS_DEFINES)
728 AC_SUBST(ISC_PLATFORM_USETHREADS)
729 ISC_THREAD_DIR=$thread_dir
730 AC_SUBST(ISC_THREAD_DIR)
733 # In solaris 10, SMF can manage named service
735 AC_CHECK_LIB(scf, smf_enable_instance)
738 # flockfile is usually provided by pthreads, but we may want to use it
739 # even if compiled with --disable-threads. getc_unlocked might also not
742 AC_CHECK_FUNC(flockfile, AC_DEFINE(HAVE_FLOCKFILE),)
743 AC_CHECK_FUNC(getc_unlocked, AC_DEFINE(HAVE_GETCUNLOCKED),)
746 # Indicate what the final decision was regarding threads.
748 AC_MSG_CHECKING(whether to build with threads)
749 if $use_threads; then
756 # End of pthreads stuff.
762 AC_ARG_ENABLE(largefile, [ --enable-largefile 64-bit file support],
763 want_largefile="yes", want_largefile="no")
764 case $want_largefile in
766 ALWAYS_DEFINES="$ALWAYS_DEFINES -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
773 # Additional compiler settings.
777 IRIX_DNSSEC_WARNINGS_HACK=""
779 if test "X$GCC" = "Xyes"; then
780 STD_CWARNINGS="$STD_CWARNINGS -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat"
783 LDFLAGS="-Wl,+vnocompatwarnings $LDFLAGS"
795 # The version of the C compiler that constantly warns about
796 # 'const' as well as alignment issues is unfortunately not
797 # able to be discerned via the version of the operating
798 # system, nor does cc have a version flag.
799 case "`$CC +W 123 2>&1`" in
804 # Turn off the pointlessly noisy warnings.
805 STD_CWARNINGS="+w1 +W 474,530,2193,2236"
808 CCOPT="$CCOPT -Ae -z"
809 LDFLAGS="-Wl,+vnocompatwarnings $LDFLAGS"
810 MKDEPPROG='cc -Ae -E -Wp,-M >/dev/null 2>>$TMP'
813 STD_CWARNINGS="-fullwarn -woff 1209"
815 # Silence more than 250 instances of
816 # "prototyped function redeclared without prototype"
817 # and 11 instances of
818 # "variable ... was set but never used"
819 # from lib/dns/sec/openssl.
821 IRIX_DNSSEC_WARNINGS_HACK="-woff 1692,1552"
826 *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
834 AC_SUBST(MKDEPCFLAGS)
836 AC_SUBST(IRIX_DNSSEC_WARNINGS_HACK)
841 AC_CHECK_FUNC(catgets, AC_DEFINE(HAVE_CATGETS),)
844 # -lxnet buys us one big porting headache... standards, gotta love 'em.
846 # AC_CHECK_LIB(xnet, socket, ,
847 # AC_CHECK_LIB(socket, socket)
848 # AC_CHECK_LIB(nsl, inet_ntoa)
851 # Use this for now, instead:
857 AC_CHECK_LIB(socket, socket)
858 AC_CHECK_LIB(nsl, inet_ntoa)
865 AC_MSG_CHECKING(whether to use purify)
867 [ --with-purify[=PATH] use Rational purify],
868 use_purify="$withval", use_purify="no")
870 case "$use_purify" in
874 AC_PATH_PROG(purify_path, purify, purify)
877 purify_path="$use_purify"
881 case "$use_purify" in
887 if test -f $purify_path || test $purify_path = purify; then
888 AC_MSG_RESULT($purify_path)
889 PURIFYFLAGS="`echo $PURIFYOPTIONS`"
890 PURIFY="$purify_path $PURIFYFLAGS"
892 AC_MSG_ERROR([$purify_path not found.
894 Please choose the proper path with the following command:
896 configure --with-purify=PATH
905 # GNU libtool support
908 [ --with-libtool use GNU libtool (following indented options supported)],
909 use_libtool="$withval", use_libtool="no")
916 LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
917 LIBTOOL_MODE_COMPILE='--mode=compile'
918 LIBTOOL_MODE_INSTALL='--mode=install'
919 LIBTOOL_MODE_LINK='--mode=link'
921 *) LIBTOOL_ALLOW_UNDEFINED= ;;
924 *-ibm-aix*) LIBTOOL_IN_MAIN="-Wl,-bI:T_testlist.imp" ;;
925 *) LIBTOOL_IN_MAIN= ;;
934 LIBTOOL_MODE_COMPILE=
935 LIBTOOL_MODE_INSTALL=
937 LIBTOOL_ALLOW_UNDEFINED=
943 # File name extension for static archive files, for those few places
944 # where they are treated differently from dynamic ones.
951 AC_SUBST(LIBTOOL_MKDEP_SED)
952 AC_SUBST(LIBTOOL_MODE_COMPILE)
953 AC_SUBST(LIBTOOL_MODE_INSTALL)
954 AC_SUBST(LIBTOOL_MODE_LINK)
955 AC_SUBST(LIBTOOL_ALLOW_UNDEFINED)
956 AC_SUBST(LIBTOOL_IN_MAIN)
961 AC_ARG_ENABLE(libbind,
962 [ --enable-libbind build libbind [default=no]])
964 case "$enable_libbind" in
974 # Here begins a very long section to determine the system's networking
975 # capabilities. The order of the tests is signficant.
982 [ --enable-ipv6 use IPv6 [default=autodetect]])
984 case "$enable_ipv6" in
993 # We do the IPv6 compilation checking after libtool so that we can put
994 # the right suffix on the files.
996 AC_MSG_CHECKING(for IPv6 structures)
998 #include <sys/types.h>
999 #include <sys/socket.h>
1000 #include <netinet/in.h>],
1001 [struct sockaddr_in6 sin6; return (0);],
1008 # See whether IPv6 support is provided via a Kame add-on.
1009 # This is done before other IPv6 linking tests to LIBS is properly set.
1011 AC_MSG_CHECKING(for Kame IPv6 support)
1013 [ --with-kame[=PATH] use Kame IPv6 [default path /usr/local/v6]],
1014 use_kame="$withval", use_kame="no")
1020 kame_path=/usr/local/v6
1023 kame_path="$use_kame"
1032 if test -f $kame_path/lib/libinet6.a; then
1033 AC_MSG_RESULT($kame_path/lib/libinet6.a)
1034 LIBS="-L$kame_path/lib -linet6 $LIBS"
1036 AC_MSG_ERROR([$kame_path/lib/libinet6.a not found.
1038 Please choose the proper path with the following command:
1040 configure --with-kame=PATH
1047 # Whether netinet6/in6.h is needed has to be defined in isc/platform.h.
1048 # Including it on Kame-using platforms is very bad, though, because
1049 # Kame uses #error against direct inclusion. So include it on only
1050 # the platform that is otherwise broken without it -- BSD/OS 4.0 through 4.1.
1051 # This is done before the in6_pktinfo check because that's what
1052 # netinet6/in6.h is needed for.
1057 ISC_PLATFORM_NEEDNETINET6IN6H="#define ISC_PLATFORM_NEEDNETINET6IN6H 1"
1058 LWRES_PLATFORM_NEEDNETINET6IN6H="#define LWRES_PLATFORM_NEEDNETINET6IN6H 1"
1059 isc_netinet6in6_hack="#include <netinet6/in6.h>"
1062 ISC_PLATFORM_NEEDNETINET6IN6H="#undef ISC_PLATFORM_NEEDNETINET6IN6H"
1063 LWRES_PLATFORM_NEEDNETINET6IN6H="#undef LWRES_PLATFORM_NEEDNETINET6IN6H"
1064 isc_netinet6in6_hack=""
1070 # This is similar to the netinet6/in6.h issue.
1073 *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
1075 ISC_PLATFORM_NEEDNETINETIN6H="#define ISC_PLATFORM_NEEDNETINETIN6H 1"
1076 LWRES_PLATFORM_NEEDNETINETIN6H="#define LWRES_PLATFORM_NEEDNETINETIN6H 1"
1077 ISC_PLATFORM_FIXIN6ISADDR="#define ISC_PLATFORM_FIXIN6ISADDR 1"
1078 isc_netinetin6_hack="#include <netinet/in6.h>"
1081 ISC_PLATFORM_NEEDNETINETIN6H="#undef ISC_PLATFORM_NEEDNETINETIN6H"
1082 LWRES_PLATFORM_NEEDNETINETIN6H="#undef LWRES_PLATFORM_NEEDNETINETIN6H"
1083 ISC_PLATFORM_FIXIN6ISADDR="#undef ISC_PLATFORM_FIXIN6ISADDR"
1084 isc_netinetin6_hack=""
1089 # Now delve deeper into the suitability of the IPv6 support.
1091 case "$found_ipv6" in
1093 ISC_PLATFORM_HAVEIPV6="#define ISC_PLATFORM_HAVEIPV6 1"
1094 LWRES_PLATFORM_HAVEIPV6="#define LWRES_PLATFORM_HAVEIPV6 1"
1096 AC_MSG_CHECKING(for in6_addr)
1098 #include <sys/types.h>
1099 #include <sys/socket.h>
1100 #include <netinet/in.h>
1101 $isc_netinetin6_hack
1102 $isc_netinet6in6_hack
1104 [struct in6_addr in6; return (0);],
1106 ISC_PLATFORM_HAVEINADDR6="#undef ISC_PLATFORM_HAVEINADDR6"
1107 LWRES_PLATFORM_HAVEINADDR6="#undef LWRES_PLATFORM_HAVEINADDR6"
1108 isc_in_addr6_hack=""],
1110 ISC_PLATFORM_HAVEINADDR6="#define ISC_PLATFORM_HAVEINADDR6 1"
1111 LWRES_PLATFORM_HAVEINADDR6="#define LWRES_PLATFORM_HAVEINADDR6 1"
1112 isc_in_addr6_hack="#define in6_addr in_addr6"])
1114 AC_MSG_CHECKING(for in6addr_any)
1116 #include <sys/types.h>
1117 #include <sys/socket.h>
1118 #include <netinet/in.h>
1119 $isc_netinetin6_hack
1120 $isc_netinet6in6_hack
1123 [struct in6_addr in6; in6 = in6addr_any; return (in6.s6_addr[0]);],
1125 ISC_PLATFORM_NEEDIN6ADDRANY="#undef ISC_PLATFORM_NEEDIN6ADDRANY"
1126 LWRES_PLATFORM_NEEDIN6ADDRANY="#undef LWRES_PLATFORM_NEEDIN6ADDRANY"],
1128 ISC_PLATFORM_NEEDIN6ADDRANY="#define ISC_PLATFORM_NEEDIN6ADDRANY 1"
1129 LWRES_PLATFORM_NEEDIN6ADDRANY="#define LWRES_PLATFORM_NEEDIN6ADDRANY 1"])
1131 AC_MSG_CHECKING(for in6addr_loopback)
1133 #include <sys/types.h>
1134 #include <sys/socket.h>
1135 #include <netinet/in.h>
1136 $isc_netinetin6_hack
1137 $isc_netinet6in6_hack
1140 [struct in6_addr in6; in6 = in6addr_loopback; return (in6.s6_addr[0]);],
1142 ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef ISC_PLATFORM_NEEDIN6ADDRLOOPBACK"
1143 LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK"],
1145 ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#define ISC_PLATFORM_NEEDIN6ADDRLOOPBACK 1"
1146 LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#define LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK 1"])
1148 AC_MSG_CHECKING(for sin6_scope_id in struct sockaddr_in6)
1150 #include <sys/types.h>
1151 #include <sys/socket.h>
1152 #include <netinet/in.h>
1153 $isc_netinetin6_hack
1154 $isc_netinet6in6_hack
1156 [struct sockaddr_in6 xyzzy; xyzzy.sin6_scope_id = 0; return (0);],
1158 ISC_PLATFORM_HAVESCOPEID="#define ISC_PLATFORM_HAVESCOPEID 1"
1159 result="#define LWRES_HAVE_SIN6_SCOPE_ID 1"],
1161 ISC_PLATFORM_HAVESCOPEID="#undef ISC_PLATFORM_HAVESCOPEID"
1162 result="#undef LWRES_HAVE_SIN6_SCOPE_ID"])
1163 LWRES_HAVE_SIN6_SCOPE_ID="$result"
1165 AC_MSG_CHECKING(for in6_pktinfo)
1167 #include <sys/types.h>
1168 #include <sys/socket.h>
1169 #include <netinet/in.h>
1170 $isc_netinetin6_hack
1171 $isc_netinet6in6_hack
1173 [struct in6_pktinfo xyzzy; return (0);],
1175 ISC_PLATFORM_HAVEIN6PKTINFO="#define ISC_PLATFORM_HAVEIN6PKTINFO 1"],
1176 [AC_MSG_RESULT(no -- disabling runtime ipv6 support)
1177 ISC_PLATFORM_HAVEIN6PKTINFO="#undef ISC_PLATFORM_HAVEIN6PKTINFO"])
1180 ISC_PLATFORM_HAVEIPV6="#undef ISC_PLATFORM_HAVEIPV6"
1181 LWRES_PLATFORM_HAVEIPV6="#undef LWRES_PLATFORM_HAVEIPV6"
1182 ISC_PLATFORM_NEEDIN6ADDRANY="#undef ISC_PLATFORM_NEEDIN6ADDRANY"
1183 LWRES_PLATFORM_NEEDIN6ADDRANY="#undef LWRES_PLATFORM_NEEDIN6ADDRANY"
1184 ISC_PLATFORM_HAVEIN6PKTINFO="#undef ISC_PLATFORM_HAVEIN6PKTINFO"
1185 LWRES_HAVE_SIN6_SCOPE_ID="#define LWRES_HAVE_SIN6_SCOPE_ID 1"
1186 ISC_PLATFORM_HAVESCOPEID="#define ISC_PLATFORM_HAVESCOPEID 1"
1188 ISC_IPV6_O="ipv6.$O"
1189 ISC_ISCIPV6_O="unix/ipv6.$O"
1194 AC_SUBST(ISC_PLATFORM_HAVEIPV6)
1195 AC_SUBST(LWRES_PLATFORM_HAVEIPV6)
1196 AC_SUBST(ISC_PLATFORM_NEEDNETINETIN6H)
1197 AC_SUBST(LWRES_PLATFORM_NEEDNETINETIN6H)
1198 AC_SUBST(ISC_PLATFORM_NEEDNETINET6IN6H)
1199 AC_SUBST(LWRES_PLATFORM_NEEDNETINET6IN6H)
1200 AC_SUBST(ISC_PLATFORM_HAVEINADDR6)
1201 AC_SUBST(LWRES_PLATFORM_HAVEINADDR6)
1202 AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRANY)
1203 AC_SUBST(LWRES_PLATFORM_NEEDIN6ADDRANY)
1204 AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRLOOPBACK)
1205 AC_SUBST(LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK)
1206 AC_SUBST(ISC_PLATFORM_HAVEIN6PKTINFO)
1207 AC_SUBST(ISC_PLATFORM_FIXIN6ISADDR)
1208 AC_SUBST(ISC_IPV6_H)
1209 AC_SUBST(ISC_IPV6_O)
1210 AC_SUBST(ISC_ISCIPV6_O)
1211 AC_SUBST(ISC_IPV6_C)
1212 AC_SUBST(LWRES_HAVE_SIN6_SCOPE_ID)
1213 AC_SUBST(ISC_PLATFORM_HAVESCOPEID)
1215 AC_MSG_CHECKING([for struct if_laddrreq])
1217 #include <sys/types.h>
1218 #include <net/if6.h>
1219 ],[ struct if_laddrreq a; ],
1221 ISC_PLATFORM_HAVEIF_LADDRREQ="#define ISC_PLATFORM_HAVEIF_LADDRREQ 1"],
1223 ISC_PLATFORM_HAVEIF_LADDRREQ="#undef ISC_PLATFORM_HAVEIF_LADDRREQ"])
1224 AC_SUBST(ISC_PLATFORM_HAVEIF_LADDRREQ)
1226 AC_MSG_CHECKING([for struct if_laddrconf])
1228 #include <sys/types.h>
1229 #include <net/if6.h>
1230 ],[ struct if_laddrconf a; ],
1232 ISC_PLATFORM_HAVEIF_LADDRCONF="#define ISC_PLATFORM_HAVEIF_LADDRCONF 1"],
1234 ISC_PLATFORM_HAVEIF_LADDRCONF="#undef ISC_PLATFORM_HAVEIF_LADDRCONF"])
1235 AC_SUBST(ISC_PLATFORM_HAVEIF_LADDRCONF)
1238 # Check for network functions that are often missing. We do this
1239 # after the libtool checking, so we can put the right suffix on
1240 # the files. It also needs to come after checking for a Kame add-on,
1241 # which provides some (all?) of the desired functions.
1244 AC_MSG_CHECKING([for inet_ntop with IPv6 support])
1246 #include <sys/types.h>
1247 #include <sys/socket.h>
1248 #include <netinet/in.h>
1249 #include <arpa/inet.h>
1251 char a[16],b[64]; return(inet_ntop(AF_INET6, a, b, sizeof(b)) == (char*)0);}],
1253 ISC_PLATFORM_NEEDNTOP="#undef ISC_PLATFORM_NEEDNTOP"],
1256 ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_ntop.$O"
1257 ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_ntop.c"
1258 ISC_PLATFORM_NEEDNTOP="#define ISC_PLATFORM_NEEDNTOP 1"],
1259 [AC_MSG_RESULT(assuming inet_ntop needed)
1260 ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_ntop.$O"
1261 ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_ntop.c"
1262 ISC_PLATFORM_NEEDNTOP="#define ISC_PLATFORM_NEEDNTOP 1"])
1265 # On NetBSD 1.4.2 and maybe others, inet_pton() incorrectly accepts
1266 # addresses with less than four octets, like "1.2.3". Also leading
1267 # zeros should also be rejected.
1269 AC_MSG_CHECKING([for working inet_pton with IPv6 support])
1271 #include <sys/types.h>
1272 #include <sys/socket.h>
1273 #include <netinet/in.h>
1274 #include <arpa/inet.h>
1275 main() { char a[16]; return (inet_pton(AF_INET, "1.2.3", a) == 1 ? 1 :
1276 inet_pton(AF_INET, "1.2.3.04", a) == 1 ? 1 :
1277 (inet_pton(AF_INET6, "::1.2.3.4", a) != 1)); }],
1279 ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"],
1281 ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_pton.$O"
1282 ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_pton.c"
1283 ISC_PLATFORM_NEEDPTON="#define ISC_PLATFORM_NEEDPTON 1"],
1284 [AC_MSG_RESULT(assuming target platform has working inet_pton)
1285 ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"],
1286 [AC_MSG_RESULT(assuming inet_pton needed)
1287 ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_pton.$O"
1288 ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_pton.c"
1289 ISC_PLATFORM_NEEDPTON="#define ISC_PLATFORM_NEEDPTON 1"],
1290 [AC_MSG_RESULT(assuming target platform has working inet_pton)
1291 ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"])
1293 AC_MSG_CHECKING([for inet_aton])
1295 #include <sys/types.h>
1296 #include <netinet/in.h>
1297 #include <arpa/inet.h>],
1298 [struct in_addr in; inet_aton(0, &in); return (0);],
1300 ISC_PLATFORM_NEEDATON="#undef ISC_PLATFORM_NEEDATON"],
1303 ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_aton.$O"
1304 ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_aton.c"
1305 ISC_PLATFORM_NEEDATON="#define ISC_PLATFORM_NEEDATON 1"])
1307 AC_SUBST(ISC_PLATFORM_NEEDNTOP)
1308 AC_SUBST(ISC_PLATFORM_NEEDPTON)
1309 AC_SUBST(ISC_PLATFORM_NEEDATON)
1312 # Look for a 4.4BSD-style sa_len member in struct sockaddr.
1316 # Turn on 4.4BSD style sa_len support.
1317 AC_DEFINE(_SOCKADDR_LEN)
1321 AC_MSG_CHECKING(for sa_len in struct sockaddr)
1323 #include <sys/types.h>
1324 #include <sys/socket.h>],
1325 [struct sockaddr sa; sa.sa_len = 0; return (0);],
1327 ISC_PLATFORM_HAVESALEN="#define ISC_PLATFORM_HAVESALEN 1"
1328 LWRES_PLATFORM_HAVESALEN="#define LWRES_PLATFORM_HAVESALEN 1"],
1330 ISC_PLATFORM_HAVESALEN="#undef ISC_PLATFORM_HAVESALEN"
1331 LWRES_PLATFORM_HAVESALEN="#undef LWRES_PLATFORM_HAVESALEN"])
1332 AC_SUBST(ISC_PLATFORM_HAVESALEN)
1333 AC_SUBST(LWRES_PLATFORM_HAVESALEN)
1336 # Look for a 4.4BSD or 4.3BSD struct msghdr
1338 AC_MSG_CHECKING(for struct msghdr flavor)
1340 #include <sys/types.h>
1341 #include <sys/socket.h>],
1342 [struct msghdr msg; msg.msg_flags = 0; return (0);],
1343 [AC_MSG_RESULT(4.4BSD)
1344 ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD44MSGHDR 1"],
1345 [AC_MSG_RESULT(4.3BSD)
1346 ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD43MSGHDR 1"])
1347 AC_SUBST(ISC_PLATFORM_MSGHDRFLAVOR)
1350 # Look for in_port_t.
1352 AC_MSG_CHECKING(for type in_port_t)
1354 #include <sys/types.h>
1355 #include <netinet/in.h>],
1356 [in_port_t port = 25; return (0);],
1358 ISC_PLATFORM_NEEDPORTT="#undef ISC_PLATFORM_NEEDPORTT"],
1360 ISC_PLATFORM_NEEDPORTT="#define ISC_PLATFORM_NEEDPORTT 1"])
1361 AC_SUBST(ISC_PLATFORM_NEEDPORTT)
1364 # Check for addrinfo
1366 AC_MSG_CHECKING(for struct addrinfo)
1368 #include <netdb.h>],
1369 [struct addrinfo a; return (0);],
1371 ISC_LWRES_NEEDADDRINFO="#undef ISC_LWRES_NEEDADDRINFO"
1372 AC_DEFINE(HAVE_ADDRINFO)],
1374 ISC_LWRES_NEEDADDRINFO="#define ISC_LWRES_NEEDADDRINFO 1"])
1375 AC_SUBST(ISC_LWRES_NEEDADDRINFO)
1378 # Check for rrsetinfo
1380 AC_MSG_CHECKING(for struct rrsetinfo)
1382 #include <netdb.h>],
1383 [struct rrsetinfo r; return (0);],
1385 ISC_LWRES_NEEDRRSETINFO="#undef ISC_LWRES_NEEDRRSETINFO"],
1387 ISC_LWRES_NEEDRRSETINFO="#define ISC_LWRES_NEEDRRSETINFO 1"])
1388 AC_SUBST(ISC_LWRES_NEEDRRSETINFO)
1390 AC_MSG_CHECKING(for int sethostent)
1392 #include <netdb.h>],
1393 [int i = sethostent(0); return(0);],
1395 ISC_LWRES_SETHOSTENTINT="#define ISC_LWRES_SETHOSTENTINT 1"],
1397 ISC_LWRES_SETHOSTENTINT="#undef ISC_LWRES_SETHOSTENTINT"])
1398 AC_SUBST(ISC_LWRES_SETHOSTENTINT)
1400 AC_MSG_CHECKING(for int endhostent)
1402 #include <netdb.h>],
1403 [int i = endhostent(); return(0);],
1405 ISC_LWRES_ENDHOSTENTINT="#define ISC_LWRES_ENDHOSTENTINT 1"],
1407 ISC_LWRES_ENDHOSTENTINT="#undef ISC_LWRES_ENDHOSTENTINT"])
1408 AC_SUBST(ISC_LWRES_ENDHOSTENTINT)
1410 AC_MSG_CHECKING(for getnetbyaddr(in_addr_t, ...))
1413 struct netent *getnetbyaddr(in_addr_t, int);],
1416 ISC_LWRES_GETNETBYADDRINADDR="#define ISC_LWRES_GETNETBYADDRINADDR 1"],
1418 ISC_LWRES_GETNETBYADDRINADDR="#undef ISC_LWRES_GETNETBYADDRINADDR"])
1419 AC_SUBST(ISC_LWRES_GETNETBYADDRINADDR)
1421 AC_MSG_CHECKING(for int setnetent)
1423 #include <netdb.h>],
1424 [int i = setnetent(0); return(0);],
1426 ISC_LWRES_SETNETENTINT="#define ISC_LWRES_SETNETENTINT 1"],
1428 ISC_LWRES_SETNETENTINT="#undef ISC_LWRES_SETNETENTINT"])
1429 AC_SUBST(ISC_LWRES_SETNETENTINT)
1431 AC_MSG_CHECKING(for int endnetent)
1433 #include <netdb.h>],
1434 [int i = endnetent(); return(0);],
1436 ISC_LWRES_ENDNETENTINT="#define ISC_LWRES_ENDNETENTINT 1"],
1438 ISC_LWRES_ENDNETENTINT="#undef ISC_LWRES_ENDNETENTINT"])
1439 AC_SUBST(ISC_LWRES_ENDNETENTINT)
1441 AC_MSG_CHECKING(for gethostbyaddr(const void *, size_t, ...))
1444 struct hostent *gethostbyaddr(const void *, size_t, int);],
1447 ISC_LWRES_GETHOSTBYADDRVOID="#define ISC_LWRES_GETHOSTBYADDRVOID 1"],
1449 ISC_LWRES_GETHOSTBYADDRVOID="#undef ISC_LWRES_GETHOSTBYADDRVOID"])
1450 AC_SUBST(ISC_LWRES_GETHOSTBYADDRVOID)
1452 AC_MSG_CHECKING(for h_errno in netdb.h)
1454 #include <netdb.h>],
1455 [h_errno = 1; return(0);],
1457 ISC_LWRES_NEEDHERRNO="#undef ISC_LWRES_NEEDHERRNO"],
1459 ISC_LWRES_NEEDHERRNO="#define ISC_LWRES_NEEDHERRNO 1"])
1460 AC_SUBST(ISC_LWRES_NEEDHERRNO)
1462 AC_CHECK_FUNC(getipnodebyname,
1463 [ISC_LWRES_GETIPNODEPROTO="#undef ISC_LWRES_GETIPNODEPROTO"],
1464 [ISC_LWRES_GETIPNODEPROTO="#define ISC_LWRES_GETIPNODEPROTO 1"])
1465 AC_CHECK_FUNC(getnameinfo,
1466 [ISC_LWRES_GETNAMEINFOPROTO="#undef ISC_LWRES_GETNAMEINFOPROTO"],
1467 [ISC_LWRES_GETNAMEINFOPROTO="#define ISC_LWRES_GETNAMEINFOPROTO 1"])
1468 AC_CHECK_FUNC(getaddrinfo,
1469 [ISC_LWRES_GETADDRINFOPROTO="#undef ISC_LWRES_GETADDRINFOPROTO"
1470 AC_DEFINE(HAVE_GETADDRINFO)],
1471 [ISC_LWRES_GETADDRINFOPROTO="#define ISC_LWRES_GETADDRINFOPROTO 1"])
1472 AC_CHECK_FUNC(gai_strerror, AC_DEFINE(HAVE_GAISTRERROR))
1473 AC_SUBST(ISC_LWRES_GETIPNODEPROTO)
1474 AC_SUBST(ISC_LWRES_GETADDRINFOPROTO)
1475 AC_SUBST(ISC_LWRES_GETNAMEINFOPROTO)
1477 AC_ARG_ENABLE(getifaddrs,
1478 [ --enable-getifaddrs Enable the use of getifaddrs() [[yes|no|glibc]].
1479 glibc: Use getifaddrs() in glibc if you know it supports IPv6.],
1480 want_getifaddrs="$enableval", want_getifaddrs="yes")
1482 case $want_getifaddrs in
1485 # Do we have getifaddrs() ?
1489 # Some recent versions of glibc support getifaddrs() which does not
1490 # provide AF_INET6 addresses while the function provided by the USAGI
1491 # project handles the AF_INET6 case correctly. We need to avoid
1492 # using the former but prefer the latter unless overridden by
1493 # --enable-getifaddrs=glibc.
1494 if test $want_getifaddrs = glibc
1496 AC_CHECK_FUNC(getifaddrs, AC_DEFINE(HAVE_GETIFADDRS))
1499 LIBS="-L/usr/local/v6/lib $LIBS"
1500 AC_CHECK_LIB(inet6, getifaddrs,
1501 LIBS="$LIBS -linet6"
1502 AC_DEFINE(HAVE_GETIFADDRS),
1507 AC_CHECK_FUNC(getifaddrs, AC_DEFINE(HAVE_GETIFADDRS))
1516 # Look for a sysctl call to get the list of network interfaces.
1518 case $ac_cv_header_sys_sysctl_h in
1520 AC_MSG_CHECKING(for interface list sysctl)
1521 AC_EGREP_CPP(found_rt_iflist, [
1522 #include <sys/param.h>
1523 #include <sys/sysctl.h>
1524 #include <sys/socket.h>
1525 #ifdef NET_RT_IFLIST
1530 AC_DEFINE(HAVE_IFLIST_SYSCTL)],
1531 [AC_MSG_RESULT(no)])
1536 # Check for some other useful functions that are not ever-present.
1539 # We test for strsep() using AC_TRY_LINK instead of AC_CHECK_FUNC
1540 # because AIX 4.3.3 with patches for bos.adt.include to version 4.3.3.77
1541 # reportedly defines strsep() without declaring it in <string.h> when
1542 # -D_LINUX_SOURCE_COMPAT is not defined [RT #2190], and
1543 # AC_CHECK_FUNC() incorrectly succeeds because it declares
1544 # the function itself.
1545 AC_MSG_CHECKING(for correctly declared strsep())
1546 AC_TRY_LINK([#include <string.h>], [char *sp; char *foo = strsep(&sp, ".");],
1547 [AC_MSG_RESULT(yes); ISC_PLATFORM_NEEDSTRSEP="#undef ISC_PLATFORM_NEEDSTRSEP"],
1548 [AC_MSG_RESULT(no); ISC_PLATFORM_NEEDSTRSEP="#define ISC_PLATFORM_NEEDSTRSEP 1"])
1549 AC_SUBST(ISC_PLATFORM_NEEDSTRSEP)
1551 AC_CHECK_FUNC(memmove,
1552 [ISC_PLATFORM_NEEDMEMMOVE="#undef ISC_PLATFORM_NEEDMEMMOVE"],
1553 [ISC_PLATFORM_NEEDMEMMOVE="#define ISC_PLATFORM_NEEDMEMMOVE 1"])
1554 AC_SUBST(ISC_PLATFORM_NEEDMEMMOVE)
1556 AC_CHECK_FUNC(strtoul,
1557 [ISC_PLATFORM_NEEDSTRTOUL="#undef ISC_PLATFORM_NEEDSTRTOUL"
1558 LWRES_PLATFORM_NEEDSTRTOUL="#undef ISC_PLATFORM_NEEDSTRTOUL"
1560 [ISC_PLATFORM_NEEDSTRTOUL="#define ISC_PLATFORM_NEEDSTRTOUL 1"
1561 LWRES_PLATFORM_NEEDSTRTOUL="#define ISC_PLATFORM_NEEDSTRTOUL 1"
1562 "GENRANDOMLIB=${ISCLIBS}"])
1563 AC_SUBST(ISC_PLATFORM_NEEDSTRTOUL)
1564 AC_SUBST(LWRES_PLATFORM_NEEDSTRTOUL)
1565 AC_SUBST(GENRANDOMLIB)
1567 AC_CHECK_FUNC(strlcpy,
1568 [ISC_PLATFORM_NEEDSTRLCPY="#undef ISC_PLATFORM_NEEDSTRLCPY"],
1569 [ISC_PLATFORM_NEEDSTRLCPY="#define ISC_PLATFORM_NEEDSTRLCPY 1"])
1570 AC_SUBST(ISC_PLATFORM_NEEDSTRLCPY)
1572 AC_CHECK_FUNC(strlcat,
1573 [ISC_PLATFORM_NEEDSTRLCAT="#undef ISC_PLATFORM_NEEDSTRLCAT"],
1574 [ISC_PLATFORM_NEEDSTRLCAT="#define ISC_PLATFORM_NEEDSTRLCAT 1"])
1575 AC_SUBST(ISC_PLATFORM_NEEDSTRLCAT)
1579 AC_MSG_CHECKING(sprintf)
1583 [ char buf[2]; return(*sprintf(buf,"x"));],
1585 ISC_PRINT_OBJS="print.$O"
1586 ISC_PRINT_SRCS="print.c"
1587 ISC_PLATFORM_NEEDSPRINTF="#define ISC_PLATFORM_NEEDSPRINTF"
1588 LWRES_PLATFORM_NEEDSPRINTF="#define LWRES_PLATFORM_NEEDSPRINTF"
1590 [ISC_PLATFORM_NEEDSPRINTF="#undef ISC_PLATFORM_NEEDSPRINTF"
1591 LWRES_PLATFORM_NEEDSPRINTF="#undef LWRES_PLATFORM_NEEDSPRINTF"]
1593 AC_SUBST(ISC_PLATFORM_NEEDSPRINTF)
1594 AC_SUBST(LWRES_PLATFORM_NEEDSPRINTF)
1596 AC_CHECK_FUNC(vsnprintf,
1597 [ISC_PLATFORM_NEEDVSNPRINTF="#undef ISC_PLATFORM_NEEDVSNPRINTF"
1598 LWRES_PLATFORM_NEEDVSNPRINTF="#undef LWRES_PLATFORM_NEEDVSNPRINTF"],
1599 [ISC_PRINT_OBJS="print.$O"
1600 ISC_PRINT_SRCS="print.c"
1601 ISC_PLATFORM_NEEDVSNPRINTF="#define ISC_PLATFORM_NEEDVSNPRINTF 1"
1602 LWRES_PLATFORM_NEEDVSNPRINTF="#define LWRES_PLATFORM_NEEDVSNPRINTF 1"])
1603 AC_SUBST(ISC_PLATFORM_NEEDVSNPRINTF)
1604 AC_SUBST(LWRES_PLATFORM_NEEDVSNPRINTF)
1605 ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS $ISC_PRINT_OBJS"
1606 ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS $ISC_PRINT_SRCS"
1608 AC_CHECK_FUNC(strerror, AC_DEFINE(HAVE_STRERROR))
1610 AC_SUBST(ISC_EXTRA_OBJS)
1611 AC_SUBST(ISC_EXTRA_SRCS)
1613 # Determine the printf format characters to use when printing
1614 # values of type isc_int64_t. This will normally be "ll", but where
1615 # the compiler treats "long long" as a alias for "long" and printf
1616 # doesn't know about "long long" use "l". Hopefully the sprintf
1617 # will produce a inconsistant result in the later case. If the compiler
1618 # fails due to seeing "%lld" we fall back to "l".
1620 # Digital Unix 4.0 (gcc?) (long long) is 64 bits as is its long. It uses
1621 # %ld even for (long long)/
1623 # Win32 uses "%I64d", but that's defined elsewhere since we don't use
1624 # configure on Win32.
1626 AC_MSG_CHECKING(printf format modifier for 64-bit integers)
1630 long long int j = 0;
1633 sprintf(buf, "%lld", j);
1634 exit((sizeof(long long int) != sizeof(long int))? 0 :
1635 (strcmp(buf, "0") != 0));
1639 ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "ll"'
1640 LWRES_PLATFORM_QUADFORMAT='#define LWRES_PLATFORM_QUADFORMAT "ll"'],
1642 ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "l"'
1643 LWRES_PLATFORM_QUADFORMAT='#define LWRES_PLATFORM_QUADFORMAT "l"'],
1644 [AC_MSG_RESULT(assuming target platform uses ll)
1645 ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "ll"'
1646 LWRES_PLATFORM_QUADFORMAT='#define LWRES_PLATFORM_QUADFORMAT "ll"'])
1647 AC_SUBST(ISC_PLATFORM_QUADFORMAT)
1648 AC_SUBST(LWRES_PLATFORM_QUADFORMAT)
1653 AC_CHECK_FUNC(chroot, AC_DEFINE(HAVE_CHROOT))
1654 AC_ARG_ENABLE(linux-caps,
1655 [ --disable-linux-caps disable linux capabilities])
1656 case "$enable_linux_caps" in
1658 AC_CHECK_HEADERS(linux/capability.h)
1663 AC_CHECK_HEADERS(sys/prctl.h)
1668 AC_CHECK_FUNC(tzset, AC_DEFINE(HAVE_TZSET))
1670 AC_MSG_CHECKING(for optarg decarartion)
1675 [AC_MSG_RESULT(yes)],
1677 AC_DEFINE(NEED_OPTARG, 1, [Defined if extern char *optarg is not declared.])])
1680 # BSD/OS, and perhaps some others, don't define rlim_t.
1682 AC_MSG_CHECKING(for type rlim_t)
1684 #include <sys/types.h>
1685 #include <sys/time.h>
1686 #include <sys/resource.h>],
1687 [rlim_t rl = 19671212; return (0);],
1689 ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE rlim_t"],
1692 AC_MSG_CHECKING(type of rlim_cur)
1694 #include <sys/types.h>
1695 #include <sys/time.h>
1696 #include <sys/resource.h>
1697 main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(int)));}],
1699 ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE int"],
1702 #include <sys/types.h>
1703 #include <sys/time.h>
1704 #include <sys/resource.h>
1705 main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(long int)));}],
1706 [AC_MSG_RESULT(long int)
1707 ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE long int"],
1710 #include <sys/types.h>
1711 #include <sys/time.h>
1712 #include <sys/resource.h>
1713 main() { struct rlimit r; exit((!sizeof(r.rlim_cur) == sizeof(long long int)));}],
1714 [AC_MSG_RESULT(long long int)
1715 ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE long long int"],
1716 [AC_MSG_ERROR([unable to determine sizeof rlim_cur])
1717 ],[AC_MSG_ERROR(this cannot happen)])
1718 ],[AC_MSG_ERROR(this cannot happen)])
1720 ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE long long int"
1721 AC_MSG_RESULT(cannot determine type of rlim_cur when cross compiling - assuming long long int)])
1723 AC_SUBST(ISC_PLATFORM_RLIMITTYPE)
1726 # Compaq TruCluster requires more code for handling cluster IP aliases
1730 AC_CHECK_LIB(clua, clua_getaliasaddress, LIBS="-lclua $LIBS")
1731 AC_CHECK_FUNC(clua_getaliasaddress,
1732 AC_DEFINE(HAVE_TRUCLUSTER, 1,
1733 [Define if running under Compaq TruCluster]))
1740 # Microsoft has their own way of handling shared libraries that requires
1741 # additional qualifiers on extern variables. Unix systems don't need it.
1743 AC_SUBST(ISC_PLATFORM_USEDECLSPEC)
1744 ISC_PLATFORM_USEDECLSPEC="#undef ISC_PLATFORM_USEDECLSPEC"
1745 AC_SUBST(LWRES_PLATFORM_USEDECLSPEC)
1746 LWRES_PLATFORM_USEDECLSPEC="#undef LWRES_PLATFORM_USEDECLSPEC"
1749 # Random remaining OS-specific issues involving compiler warnings.
1750 # XXXDCL print messages to indicate some compensation is being done?
1752 AC_SUBST(ISC_PLATFORM_BRACEPTHREADONCEINIT)
1753 ISC_PLATFORM_BRACEPTHREADONCEINIT="#undef ISC_PLATFORM_BRACEPTHREADONCEINIT"
1757 hack_shutup_pthreadonceinit=yes
1760 hack_shutup_sputaux=yes
1763 hack_shutup_sigwait=yes
1764 hack_shutup_sputaux=yes
1767 hack_shutup_stdargcast=yes
1770 hack_shutup_pthreadonceinit=yes
1774 case "$hack_shutup_pthreadonceinit" in
1777 # Shut up PTHREAD_ONCE_INIT unbraced initializer warnings.
1779 ISC_PLATFORM_BRACEPTHREADONCEINIT="#define ISC_PLATFORM_BRACEPTHREADONCEINIT 1"
1783 case "$hack_shutup_sigwait" in
1786 # Shut up a -Wmissing-prototypes warning for sigwait().
1788 AC_DEFINE(SHUTUP_SIGWAIT)
1792 case "$hack_shutup_sputaux" in
1795 # Shut up a -Wmissing-prototypes warning from <stdio.h>.
1797 AC_DEFINE(SHUTUP_SPUTAUX)
1801 case "$hack_shutup_stdargcast" in
1804 # Shut up a -Wcast-qual warning from va_start().
1806 AC_DEFINE(SHUTUP_STDARG_CAST)
1811 # Check for if_nametoindex() for IPv6 scoped addresses support
1813 AC_CHECK_FUNC(if_nametoindex, ac_cv_have_if_nametoindex=yes,
1814 ac_cv_have_if_nametoindex=no)
1815 case $ac_cv_have_if_nametoindex in
1819 AC_CHECK_LIB(ipv6, if_nametoindex,
1820 ac_cv_have_if_nametoindex=yes
1821 LIBS="-lipv6 $LIBS",)
1825 case $ac_cv_have_if_nametoindex in
1827 ISC_PLATFORM_HAVEIFNAMETOINDEX="#define ISC_PLATFORM_HAVEIFNAMETOINDEX 1"
1830 ISC_PLATFORM_HAVEIFNAMETOINDEX="#undef ISC_PLATFORM_HAVEIFNAMETOINDEX"
1833 AC_SUBST(ISC_PLATFORM_HAVEIFNAMETOINDEX)
1836 # The following sets up how non-blocking i/o is established.
1837 # Sunos, cygwin and solaris 2.x (x<5) require special handling.
1840 *-sunos*) AC_DEFINE(PORT_NONBLOCK, O_NDELAY);;
1841 *-cygwin*) AC_DEFINE(PORT_NONBLOCK, O_NDELAY);;
1842 *-solaris2.[[01234]])
1843 AC_DEFINE(PORT_NONBLOCK, O_NONBLOCK)
1844 AC_DEFINE(USE_FIONBIO_IOCTL, 1,
1845 [Defined if you need to use ioctl(FIONBIO) instead a fcntl call to make non-blocking.])
1847 *) AC_DEFINE(PORT_NONBLOCK, O_NONBLOCK,
1848 [Sets which flag to pass to open/fcntl to make non-blocking (O_NDELAY/O_NONBLOCK).])
1852 # The following sections deal with tools used for formatting
1853 # the documentation. They are all optional, unless you are
1854 # a developer editing the documentation source.
1861 AC_PATH_PROGS(LATEX, latex, latex)
1864 AC_PATH_PROGS(PDFLATEX, pdflatex, pdflatex)
1868 # Look for xsltproc (libxslt)
1871 AC_PATH_PROG(XSLTPROC, xsltproc, xsltproc)
1875 # Look for xmllint (libxml2)
1878 AC_PATH_PROG(XMLLINT, xmllint, xmllint)
1882 # Subroutine for searching for an ordinary file (e.g., a stylesheet)
1883 # in a number of directories:
1885 # NOM_PATH_FILE(VARIABLE, FILENAME, DIRECTORIES)
1887 # If the file FILENAME is found in one of the DIRECTORIES, the shell
1888 # variable VARIABLE is defined to its absolute pathname. Otherwise,
1889 # it is set to FILENAME, with no directory prefix (that's not terribly
1890 # useful, but looks less confusing in substitutions than leaving it
1891 # empty). The variable VARIABLE will be substituted into output files.
1894 AC_DEFUN(NOM_PATH_FILE, [
1896 AC_MSG_CHECKING(for $2)
1907 if test "X[$]$1" = "X"
1909 AC_MSG_RESULT("not found");
1916 # Look for Docbook-XSL stylesheets. Location probably varies by
1917 # system. Guessing where it might be found, based on where SGML stuff
1918 # lives on some systems. FreeBSD is the only one I'm sure of at the
1922 docbook_xsl_trees="/usr/pkg/share/xsl /usr/local/share/xsl /usr/share/xsl"
1925 # Look for stylesheets we need.
1928 NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_HTML, docbook/html/docbook.xsl, $docbook_xsl_trees)
1929 NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_XHTML, docbook/xhtml/docbook.xsl, $docbook_xsl_trees)
1930 NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_MAN, docbook/manpages/docbook.xsl, $docbook_xsl_trees)
1931 NOM_PATH_FILE(XSLT_DOCBOOK_CHUNK_HTML, docbook/html/chunk.xsl, $docbook_xsl_trees)
1932 NOM_PATH_FILE(XSLT_DOCBOOK_CHUNK_XHTML, docbook/xhtml/chunk.xsl, $docbook_xsl_trees)
1935 # Same dance for db2latex
1937 # No idea where this lives except on FreeBSD.
1940 db2latex_xsl_trees="/usr/local/share"
1943 # Look for stylesheets we need.
1946 NOM_PATH_FILE(XSLT_DB2LATEX_STYLE, db2latex/xsl/docbook.xsl, $db2latex_xsl_trees)
1949 # Look for "admonition" image directory. Can't use NOM_PATH_FILE()
1950 # because it's a directory, so just do the same things, inline.
1953 AC_MSG_CHECKING(for db2latex/xsl/figures)
1954 for d in $db2latex_xsl_trees
1956 dd=$d/db2latex/xsl/figures
1959 XSLT_DB2LATEX_ADMONITIONS=$dd
1964 if test "X$XSLT_DB2LATEX_ADMONITIONS" = "X"
1966 AC_MSG_RESULT(not found)
1967 XSLT_DB2LATEX_ADMONITIONS=db2latex/xsl/figures
1969 AC_SUBST(XSLT_DB2LATEX_ADMONITIONS)
1974 AC_SUBST(BIND9_TOP_BUILDDIR)
1975 BIND9_TOP_BUILDDIR=`pwd`
1977 AC_SUBST(BIND9_ISC_BUILDINCLUDE)
1978 AC_SUBST(BIND9_ISCCC_BUILDINCLUDE)
1979 AC_SUBST(BIND9_ISCCFG_BUILDINCLUDE)
1980 AC_SUBST(BIND9_DNS_BUILDINCLUDE)
1981 AC_SUBST(BIND9_LWRES_BUILDINCLUDE)
1982 AC_SUBST(BIND9_BIND9_BUILDINCLUDE)
1983 if test "X$srcdir" != "X"; then
1984 BIND9_ISC_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isc/include"
1985 BIND9_ISCCC_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isccc/include"
1986 BIND9_ISCCFG_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/isccfg/include"
1987 BIND9_DNS_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/dns/include"
1988 BIND9_LWRES_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/lwres/include"
1989 BIND9_BIND9_BUILDINCLUDE="-I${BIND9_TOP_BUILDDIR}/lib/bind9/include"
1991 BIND9_ISC_BUILDINCLUDE=""
1992 BIND9_ISCCC_BUILDINCLUDE=""
1993 BIND9_ISCCFG_BUILDINCLUDE=""
1994 BIND9_DNS_BUILDINCLUDE=""
1995 BIND9_LWRES_BUILDINCLUDE=""
1996 BIND9_BIND9_BUILDINCLUDE=""
1999 AC_SUBST_FILE(BIND9_MAKE_INCLUDES)
2000 BIND9_MAKE_INCLUDES=$BIND9_TOP_BUILDDIR/make/includes
2002 AC_SUBST_FILE(BIND9_MAKE_RULES)
2003 BIND9_MAKE_RULES=$BIND9_TOP_BUILDDIR/make/rules
2006 BIND9_VERSION="VERSION=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}"
2007 AC_SUBST(BIND9_VERSION)
2009 AC_SUBST_FILE(LIBISC_API)
2010 LIBISC_API=$srcdir/lib/isc/api
2012 AC_SUBST_FILE(LIBISCCC_API)
2013 LIBISCCC_API=$srcdir/lib/isccc/api
2015 AC_SUBST_FILE(LIBISCCFG_API)
2016 LIBISCCFG_API=$srcdir/lib/isccfg/api
2018 AC_SUBST_FILE(LIBDNS_API)
2019 LIBDNS_API=$srcdir/lib/dns/api
2021 AC_SUBST_FILE(LIBBIND9_API)
2022 LIBBIND9_API=$srcdir/lib/bind9/api
2024 AC_SUBST_FILE(LIBLWRES_API)
2025 LIBLWRES_API=$srcdir/lib/lwres/api
2035 lib/isc/include/Makefile
2036 lib/isc/include/isc/Makefile
2037 lib/isc/include/isc/platform.h
2038 lib/isc/unix/Makefile
2039 lib/isc/unix/include/Makefile
2040 lib/isc/unix/include/isc/Makefile
2041 lib/isc/nls/Makefile
2042 lib/isc/$thread_dir/Makefile
2043 lib/isc/$thread_dir/include/Makefile
2044 lib/isc/$thread_dir/include/isc/Makefile
2046 lib/isccc/include/Makefile
2047 lib/isccc/include/isccc/Makefile
2049 lib/isccfg/include/Makefile
2050 lib/isccfg/include/isccfg/Makefile
2052 lib/dns/include/Makefile
2053 lib/dns/include/dns/Makefile
2054 lib/dns/include/dst/Makefile
2056 lib/bind9/include/Makefile
2057 lib/bind9/include/bind9/Makefile
2059 lib/lwres/include/Makefile
2060 lib/lwres/include/lwres/Makefile
2061 lib/lwres/include/lwres/netdb.h
2062 lib/lwres/include/lwres/platform.h
2063 lib/lwres/man/Makefile
2064 lib/lwres/unix/Makefile
2065 lib/lwres/unix/include/Makefile
2066 lib/lwres/unix/include/lwres/Makefile
2068 lib/tests/include/Makefile
2069 lib/tests/include/tests/Makefile
2073 bin/named/unix/Makefile
2075 bin/rndc/unix/Makefile
2077 bin/nsupdate/Makefile
2079 bin/tests/names/Makefile
2080 bin/tests/master/Makefile
2081 bin/tests/rbt/Makefile
2082 bin/tests/db/Makefile
2083 bin/tests/tasks/Makefile
2084 bin/tests/timers/Makefile
2085 bin/tests/dst/Makefile
2086 bin/tests/mem/Makefile
2087 bin/tests/net/Makefile
2088 bin/tests/sockaddr/Makefile
2089 bin/tests/system/Makefile
2090 bin/tests/system/conf.sh
2091 bin/tests/system/lwresd/Makefile
2092 bin/tests/system/tkey/Makefile
2093 bin/tests/headerdep_test.sh
2100 doc/xsl/isc-docbook-chunk.xsl
2101 doc/xsl/isc-docbook-html.xsl
2102 doc/xsl/isc-docbook-latex.xsl
2103 doc/xsl/isc-manpage.xsl
2105 chmod a+x isc-config.sh
2107 if test "X$OPENSSL_WARNING" != "X"; then
2109 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
2110 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
2112 WARNING Your OpenSSL crypto library may be vulnerable to WARNING
2113 WARNING one or more of the the following known security WARNING
2114 WARNING flaws: WARNING
2116 WARNING CAN-2002-0659, CAN-2006-4339, CVE-2006-2937 and WARNING
2117 WARNING CVE-2006-2940. WARNING
2119 WARNING It is recommended that you upgrade to OpenSSL WARNING
2120 WARNING version 0.9.8d/0.9.7l (or greater). WARNING
2122 WARNING You can disable this warning by specifying: WARNING
2124 WARNING --disable-openssl-version-check WARNING
2126 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
2127 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
2131 # Tell Emacs to edit this file in shell mode.