diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 154 |
1 files changed, 141 insertions, 13 deletions
diff --git a/configure.in b/configure.in index b2ccb388..59048d1c 100644 --- a/configure.in +++ b/configure.in @@ -50,6 +50,7 @@ AC_SUBST(STD_CINCLUDES) AC_SUBST(STD_CDEFINES) AC_SUBST(STD_CWARNINGS) AC_SUBST(CCOPT) +AC_SUBST(CCNOOPT) # Warn if the user specified libbind, which is now deprecated AC_ARG_ENABLE(libbind, [ --enable-libbind deprecated]) @@ -70,6 +71,7 @@ yes) test "${enable_fixed_rrset+set}" = set || enable_fixed_rrset=yes test "${with_atf+set}" = set || with_atf=yes test "${enable_filter_aaaa+set}" = set || enable_filter_aaaa=yes + test "${enable_rrl+set}" = set || enable_rrl=yes test "${with_dlz_filesystem+set}" = set || with_dlz_filesystem=yes case "$host" in *-darwin*) @@ -79,6 +81,7 @@ yes) test "${enable_exportlib+set}" = set || enable_exportlib=yes ;; esac + test "${enable_symtable+set}" = set || enable_symtable=all ;; esac # @@ -363,6 +366,13 @@ case "$host" in ;; esac +# +# CCNOOPT defaults to -O0 on gcc and disables optimization when is last +# +if test "X$CCNOOPT" = "X" -a "X$GCC" = "Xyes"; then + CCNOOPT="-O0" +fi + AC_HEADER_STDC AC_CHECK_HEADERS(fcntl.h regex.h sys/time.h unistd.h sys/sockio.h sys/select.h sys/param.h sys/sysctl.h net/if6.h,,, @@ -469,7 +479,7 @@ AC_SUBST(ISC_PLATFORM_HAVELIFCONF) # check if we want the new statistics # AC_ARG_ENABLE(newstats, - [ --enable-newstats use the new statistics]) + [ --enable-newstats use the new statistics]) case "$enable_newstats" in yes) AC_DEFINE(NEWSTATS, 1, [Use the new XML schema for statistics]) @@ -479,6 +489,25 @@ yes) esac # +# check if we want DNS RRL +# +AC_ARG_ENABLE(rrl, + [ --enable-rrl use DNS Response Rate Limiting]) +case "$enable_rrl" in +yes) + AC_DEFINE(USE_RRL, 1, [Enable DNS Response Rate Limiting]) + RRLLINKOBJS='${RRLOBJS}' + RRLLINKSRCS='${RRLSRCS}' + ;; +*) + RRLLINKOBJS="" + RRLLINKSRCS="" + ;; +esac +AC_SUBST(RRLLINKOBJS) +AC_SUBST(RRLLINKSRCS) + +# # check if we have kqueue # AC_ARG_ENABLE(kqueue, @@ -1297,11 +1326,13 @@ then *-freebsd*) CC="$CC -pthread" CCOPT="$CCOPT -pthread" + CCNOOPT="$CCNOOPT -pthread" STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE" ;; *-openbsd*) CC="$CC -pthread" CCOPT="$CCOPT -pthread" + CCNOOPT="$CCNOOPT -pthread" ;; *-solaris*) LIBS="$LIBS -lthread" @@ -1315,10 +1346,12 @@ then *-dec-osf*) CC="$CC -pthread" CCOPT="$CCOPT -pthread" + CCNOOPT="$CCNOOPT -pthread" ;; *-solaris*) CC="$CC -mt" CCOPT="$CCOPT -mt" + CCNOOPT="$CCNOOPT -mt" ;; *-ibm-aix*) STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE" @@ -1326,10 +1359,12 @@ then *-sco-sysv*uw*|*-*-sysv*UnixWare*) CC="$CC -Kthread" CCOPT="$CCOPT -Kthread" + CCNOOPT="$CCNOOPT -Kthread" ;; *-*-sysv*OpenUNIX*) CC="$CC -Kpthread" CCOPT="$CCOPT -Kpthread" + CCNOOPT="$CCNOOPT -Kpthread" ;; esac fi @@ -1539,6 +1574,7 @@ else *-dec-osf*) CC="$CC -std" CCOPT="$CCOPT -std" + CCNOOPT="$CCNOOPT -std" MKDEPCC="$CC" ;; *-hp-hpux*) @@ -1557,6 +1593,7 @@ else ;; esac CCOPT="$CCOPT -Ae -z" + CCNOOPT="$CCNOOPT -Ae -z" LDFLAGS="-Wl,+vnocompatwarnings $LDFLAGS" MKDEPPROG='cc -Ae -E -Wp,-M >/dev/null 2>>$TMP' ;; @@ -2579,7 +2616,12 @@ AC_ARG_ENABLE(linux-caps, [ --disable-linux-caps disable linux capabilities]) case "$enable_linux_caps" in yes|'') - AC_CHECK_HEADERS(linux/capability.h sys/capability.h) + AC_CHECK_HEADERS(linux/types.h) + AC_CHECK_HEADERS([linux/capability.h sys/capability.h], [], [], + [#ifdef HAVE_LINUX_TYPES_H + #include <linux/types.h> + #endif + ]) AC_CHECK_LIB(cap, cap_set_proc) ;; no) @@ -3351,7 +3393,7 @@ if test "$atf" = yes; then /*) ;; *) srcdir="../../$srcdir";; esac - ${SHELL} ${srcdir}${srcdir:+/unit/atf-src/}./configure MISSING=: --prefix $atfdir; + ${SHELL} "${srcdir}${srcdir:+/unit/atf-src/}./configure" MISSING=: --prefix $atfdir; ) ], [atfdir=`pwd`/unit/atf]) AC_MSG_RESULT(building ATF from bind9/unit/atf-src) @@ -3409,7 +3451,7 @@ BIND9_MAKE_INCLUDES=$BIND9_TOP_BUILDDIR/make/includes AC_SUBST_FILE(BIND9_MAKE_RULES) BIND9_MAKE_RULES=$BIND9_TOP_BUILDDIR/make/rules -. $srcdir/version +. "$srcdir/version" BIND9_PRODUCT="PRODUCT=\"${PRODUCT}\"" AC_SUBST(BIND9_PRODUCT) BIND9_DESCRIPTION="DESCRIPTION=\"${DESCRIPTION}\"" @@ -3418,10 +3460,13 @@ BIND9_VERSION="VERSION=${MAJORVER}.${MINORVER}${PATCHVER:+.}${PATCHVER}${RELEASE AC_SUBST(BIND9_VERSION) BIND9_SRCID="SRCID=unset" -if test -f $srcdir/srcid; then - . $srcdir/srcid +if test -f "${srcdir}/srcid"; then + . "${srcdir}/srcid" BIND9_SRCID="SRCID=$SRCID" +elif test -d "${srcdir}/.git"; then + BIND9_SRCID="SRCID="`(cd "${srcdir}";git log -n 1 --format=%h)` fi + AC_SUBST(BIND9_SRCID) if test -z "$ac_configure_args"; then @@ -3437,25 +3482,25 @@ BIND9_CONFIGARGS="CONFIGARGS=${BIND9_CONFIGARGS}" AC_SUBST(BIND9_CONFIGARGS) AC_SUBST_FILE(LIBISC_API) -LIBISC_API=$srcdir/lib/isc/api +LIBISC_API="$srcdir/lib/isc/api" AC_SUBST_FILE(LIBISCCC_API) -LIBISCCC_API=$srcdir/lib/isccc/api +LIBISCCC_API="$srcdir/lib/isccc/api" AC_SUBST_FILE(LIBISCCFG_API) -LIBISCCFG_API=$srcdir/lib/isccfg/api +LIBISCCFG_API="$srcdir/lib/isccfg/api" AC_SUBST_FILE(LIBDNS_API) -LIBDNS_API=$srcdir/lib/dns/api +LIBDNS_API="$srcdir/lib/dns/api" AC_SUBST_FILE(LIBBIND9_API) -LIBBIND9_API=$srcdir/lib/bind9/api +LIBBIND9_API="$srcdir/lib/bind9/api" AC_SUBST_FILE(LIBLWRES_API) -LIBLWRES_API=$srcdir/lib/lwres/api +LIBLWRES_API="$srcdir/lib/lwres/api" AC_SUBST_FILE(LIBIRS_API) -LIBIRS_API=$srcdir/lib/irs/api +LIBIRS_API="$srcdir/lib/irs/api" # # Configure any DLZ drivers. @@ -3758,6 +3803,7 @@ AC_CONFIG_FILES([ bin/tests/system/gost/prereq.sh bin/tests/system/lwresd/Makefile bin/tests/system/rpz/Makefile + bin/tests/system/rrl/Makefile bin/tests/system/rsabigexponent/Makefile bin/tests/system/tkey/Makefile bin/tests/system/tsiggss/Makefile @@ -3872,6 +3918,88 @@ yes) ;; esac +AC_ARG_ENABLE(full-report, + [ --enable-full-report report values of all configure options]) +echo enable full report set to: $enable_full_report + +echo "========================================================================" +echo "Configuration summary:" +echo "------------------------------------------------------------------------" +echo "Optional features enabled:" +$use_threads && echo " Multiprocessing support (--enable-threads)" + +test "$enable_fixed" = "yes" && \ + echo " Fixed RRset order (--enable-fixed-rrset)" +test "$atf" = "no" || echo " Automated Testing Framework (--with-atf)" +test "$enable_filter" = "yes" && \ + echo " AAAA filtering (--enable-filter-aaaa)" +test "$use_gssapi" = "no" || echo " GSS-API (--with-gssapi)" +test "$want_backtrace" = "yes" && \ + echo " Print backtrace on crash (--enable-backtrace)" +test "$want_symtable" = "minimal" && \ + echo " Use symbol table for backtrace, named only (--enable-symtable)" +test "$want_symtable" = "yes" -o "$want_symtable" = "all" && \ + echo " Use symbol table for backtrace, all binaries (--enable-symtable=all)" +test "$use_pkcs11" = "no" || echo " PKCS#11/Cryptoki support (--with-pkcs11)" + + +# these lines are only printed if run with --enable-full-report +if test "$enable_full_report" = "yes"; then + test "$enable_ipv6" = "no" -o "$found_ipv6" = "no" || \ + echo " IPv6 support (--enable-ipv6)" + test "X$USE_OPENSSL" = "X" || \ + echo " OpenSSL cryptography/DNSSEC (--with-openssl)" + test "$OPENSSL_GOST" != "yes" || \ + echo " GOST algorithm support (--with-gost)" + test "$OPENSSL_ECDSA" != "yes" || \ + echo " ECDSA algorithm support (--with-ecdsa)" + test "X$PYTHON" = "X" || echo " Python tools (--with-python)" + test "X$libxml2_libs" = "X" || echo " XML statistics (--with-libxml2)" +fi + +echo " Dynamically loadable zone (DLZ) drivers:" +test "$use_dlz_bdb" = "no" || \ + echo " Berkeley DB (--with-dlz-bdb)" +test "$use_dlz_ldap" = "no" || \ + echo " LDAP (--with-dlz-ldap)" +test "$use_dlz_mysql" = "no" || \ + echo " MySQL (--with-dlz-mysql)" +test "$use_dlz_odbc" = "no" || \ + echo " ODBC (--with-dlz-bdb)" +test "$use_dlz_postgres" = "no" || \ + echo " Postgres (--with-dlz-postgres)" +test "$use_dlz_filesystem" = "no" || \ + echo " Filesystem (--with-dlz-filesystem)" +test "$use_dlz_stub" = "no" || \ + echo " Stub (--with-dlz-stub)" +test "$use_dlz_bdb $use_dlz_ldap $use_dlz_mysql $use_dlz_odbc $use_dlz_postgres $use_dlz_filesystem $use_dlz_stub" = "no no no no no no no" && echo " None" +echo + +echo "Features disabled or unavailable on this platform:" +$use_threads || echo " Multiprocessing support (--enable-threads)" +test "$enable_fixed" = "yes" || \ + echo " Fixed RRset order (--enable-fixed-rrset)" +test "$atf" = "no" && echo " Automated Testing Framework (--with-atf)" +test "$enable_filter" = "yes" || \ + echo " AAAA filtering (--enable-filter-aaaa)" +test "$use_gssapi" = "no" && echo " GSS-API (--with-gssapi)" +test "$want_backtrace" = "yes" || \ + echo " Print backtrace on crash (--enable-backtrace)" +test "$use_pkcs11" = "no" && echo " PKCS#11/Cryptoki support (--with-pkcs11)" + +test "$enable_ipv6" = "no" -o "$found_ipv6" = "no" && \ + echo " IPv6 support (--enable-ipv6)" +test "X$USE_OPENSSL" = "X" && \ + echo " OpenSSL cryptography/DNSSEC (--with-openssl)" +test "X$USE_OPENSSL" != "X" -a "$OPENSSL_GOST" != "yes" && \ + echo " GOST algorithm support (--with-gost)" +test "X$USE_OPENSSL" != "X" -a "$OPENSSL_ECDSA" != "yes" && \ + echo " ECDSA algorithm support (--with-ecdsa)" +test "X$PYTHON" = "X" && echo " Python tools (--with-python)" +test "X$libxml2_libs" = "X" && echo " XML statistics (--with-libxml2)" + +echo "========================================================================" + if test "X$USE_OPENSSL" = "X"; then cat << \EOF BIND is being built without OpenSSL. This means it will not have DNSSEC support. |