summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in154
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.