2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 05:55:28 +00:00

[#1632] autoupdate

This commit is contained in:
Andrei Pavel
2021-01-04 15:46:21 +02:00
committed by Francis Dupont
parent 4ed7cf6d79
commit 630c35d97e
4 changed files with 60 additions and 106 deletions

101
configure.ac Executable file → Normal file
View File

@@ -1,7 +1,7 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
AC_PREREQ([2.70])
# For released versions, this is in x.y.z format.
# For GIT versions, this is x.y.z-git, where x.y.z denotes the next development
@@ -339,7 +339,7 @@ esac
werror_extras=
AC_ARG_WITH(werror,
AC_HELP_STRING([--with-werror], [Compile using -Werror (default=no)]),
AS_HELP_STRING([--with-werror],[Compile using -Werror (default=no)]),
[
case "${withval}" in
yes) with_werror=1 ;;
@@ -360,12 +360,10 @@ if test $with_werror = 1; then
AC_MSG_CHECKING(for in-TU anonymous namespace breakage)
# We use struct, not class, here, because some compilers complain about
# "unused private members", causing a false positive.
AC_TRY_COMPILE([namespace { struct Foo {}; }
namespace isc {struct Bar {Foo foo_;};} ],,
[AC_MSG_RESULT(no)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[namespace { struct Foo {}; }
namespace isc {struct Bar {Foo foo_;};} ]], [[]])],[AC_MSG_RESULT(no)
werror_ok=1
KEA_CXXFLAGS="$KEA_CXXFLAGS -Werror"],
[AC_MSG_RESULT(yes)])
KEA_CXXFLAGS="$KEA_CXXFLAGS -Werror"],[AC_MSG_RESULT(yes)])
CXXFLAGS="$CXXFLAGS_SAVED"
fi
@@ -398,8 +396,7 @@ fi dnl GXX = yes
# allow building programs with static link. we need to make it selective
# because loadable modules cannot be statically linked.
AC_ARG_ENABLE([static-link],
AC_HELP_STRING([--enable-static-link],
[build programs with static link [[default=no]]]),
AS_HELP_STRING([--enable-static-link],[build programs with static link [[default=no]]]),
[enable_static_link=yes], [enable_static_link=no])
AM_CONDITIONAL(USE_STATIC_LINK, test $enable_static_link = yes)
AM_COND_IF([USE_STATIC_LINK], [AC_DEFINE([USE_STATIC_LINK], [1], [Was Kea statically linked?])])
@@ -435,16 +432,12 @@ case "$host" in
# In OS X 10.9 (and possibly any future versions?) pthread_cond_destroy
# doesn't work as documented, which makes some of unit tests fail.
AC_MSG_CHECKING([OS X versions where destroying locked locks do not fail])
AC_TRY_COMPILE(
[#include <Availability.h>],
[#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <Availability.h>]], [[#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
#error " OS X >= 10.9"
#endif
#endif
return 1;],
[AC_MSG_RESULT([OS X < 10.9])],
[AC_MSG_RESULT([OS X >= 10.9])
return 1;]])],[AC_MSG_RESULT([OS X < 10.9])],[AC_MSG_RESULT([OS X >= 10.9])
kea_undefined_pthread_behavior=yes])
;;
*-freebsd*)
@@ -480,8 +473,7 @@ case "$host" in
esac
# Made perfdhcp optional.
AC_ARG_ENABLE(perfdhcp, [AC_HELP_STRING([--enable-perfdhcp],
[enable perfdhcp, a DHCP benchmarking tool [default=no]])],
AC_ARG_ENABLE(perfdhcp, [AS_HELP_STRING([--enable-perfdhcp],[enable perfdhcp, a DHCP benchmarking tool [default=no]])],
enable_perfdhcp=$enableval, enable_perfdhcp=no)
DISTCHECK_PERFDHCP_CONFIGURE_FLAG=
@@ -589,17 +581,14 @@ AM_CONDITIONAL(OS_OPENBSD, test $BSD_TYPE = OpenBSD)
AC_MSG_CHECKING(for sa_len in struct sockaddr)
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <sys/types.h>
#include <sys/socket.h>],
[struct sockaddr sa; sa.sa_len = 0; return (0);],
[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SA_LEN, 1, [Define to 1 if sockaddr has a sa_len member, and corresponding sin_len and sun_len])],
AC_MSG_RESULT(no))
#include <sys/socket.h>]], [[struct sockaddr sa; sa.sa_len = 0; return (0);]])],[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SA_LEN, 1, [Define to 1 if sockaddr has a sa_len member, and corresponding sin_len and sun_len])],[AC_MSG_RESULT(no)])
usable_regex=
AC_MSG_CHECKING(for usable C++11 regex)
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <regex>
#include <iostream>
int main() {
@@ -607,12 +596,9 @@ int main() {
const std::string string = "This should match!";
const auto result = std::regex_search(string, regex);
return result ? EXIT_SUCCESS : EXIT_FAILURE;
}],
[AC_MSG_RESULT(yes)
usable_regex="yes"],
[AC_MSG_RESULT(no)
usable_regex="no"],
[AC_MSG_RESULT(cross compiling)])
}]])],[AC_MSG_RESULT(yes)
usable_regex="yes"],[AC_MSG_RESULT(no)
usable_regex="no"],[AC_MSG_RESULT(cross compiling)])
# When cross-compiling we don't have any way to check if regex is
# usable or not.
# Let's be optimistic and assume it is by testing only the negative case.
@@ -652,8 +638,7 @@ defaultdirs="/usr /usr/local /usr/pkg /opt /opt/local"
# the software is not built with MySQL support enabled.
mysql_config="no"
AC_ARG_WITH([mysql],
AC_HELP_STRING([--with-mysql=PATH],
[path to the MySQL 'mysql_config' script (MySQL is used for the DHCP database)]),
AS_HELP_STRING([--with-mysql=PATH],[path to the MySQL 'mysql_config' script (MySQL is used for the DHCP database)]),
[mysql_config="$withval"])
deprec_msg="no"
@@ -732,8 +717,7 @@ AM_CONDITIONAL(HAVE_MYSQL, test "$MYSQL_CONFIG" != "")
pg_config="no"
AC_ARG_WITH([pgsql],
AC_HELP_STRING([--with-pgsql=PATH],
[path to the PostgreSQL 'pg_config' script]),
AS_HELP_STRING([--with-pgsql=PATH],[path to the PostgreSQL 'pg_config' script]),
[pg_config="$withval"])
deprec_msg="no"
@@ -817,8 +801,7 @@ fi
cql_config="no"
AC_ARG_WITH([cql],
AC_HELP_STRING([--with-cql=PATH],
[path to pkg-config or the Cassandra CQL 'cql_config' script]),
AS_HELP_STRING([--with-cql=PATH],[path to pkg-config or the Cassandra CQL 'cql_config' script]),
[cql_config="$withval"])
if test "${cql_config}" = "yes" ; then
@@ -875,8 +858,7 @@ AM_CONDITIONAL(HAVE_CQL, test "$CQL_CONFIG" != "")
DISTCHECK_SYSREPO_CONFIGURE_FLAG=
sysrepo_config="no"
AC_ARG_WITH([sysrepo],
AC_HELP_STRING([--with-sysrepo=PATH],
[path to pkg-config or the Sysrepo 'sysrepo_config' script]),
AS_HELP_STRING([--with-sysrepo=PATH],[path to pkg-config or the Sysrepo 'sysrepo_config' script]),
[sysrepo_config="$withval"])
if test "${sysrepo_config}" = "yes" ; then
@@ -986,8 +968,7 @@ AM_CONDITIONAL(HAVE_SYSREPO, test "$SYSREPO_CONFIG" != "")
DISTCHECK_LOG4CPLUS_CONFIGURE_FLAG=
log4cplus_path="yes"
AC_ARG_WITH([log4cplus],
AC_HELP_STRING([--with-log4cplus=PATH],
[specify exact directory of log4cplus library and headers]),
AS_HELP_STRING([--with-log4cplus=PATH],[specify exact directory of log4cplus library and headers]),
[log4cplus_path="$withval"])
if test "${log4cplus_path}" = "no" ; then
AC_MSG_ERROR([Need log4cplus])
@@ -1287,8 +1268,7 @@ AC_SUBST(PERL)
AC_PATH_PROGS(AWK, gawk awk)
AC_SUBST(AWK)
AC_ARG_ENABLE(generate_messages, [AC_HELP_STRING([--enable-generate-messages],
[indicates that the messages files will be regenerated. [default=no]])],
AC_ARG_ENABLE(generate_messages, [AS_HELP_STRING([--enable-generate-messages],[indicates that the messages files will be regenerated. [default=no]])],
enable_generate_messages=$enableval, enable_generate_messages=no)
AM_CONDITIONAL([GENERATE_MESSAGES], [test x$enable_generate_messages != xno])
@@ -1300,8 +1280,7 @@ if test "$cross_compiling" = "yes"; then
fi
fi
AC_ARG_ENABLE(generate_parser, [AC_HELP_STRING([--enable-generate-parser],
[indicates that the parsers will be regenerated. This implies that the
AC_ARG_ENABLE(generate_parser, [AS_HELP_STRING([--enable-generate-parser],[indicates that the parsers will be regenerated. This implies that the
bison and flex are required [default=no]])],
enable_generate_parser=$enableval, enable_generate_parser=no)
@@ -1350,13 +1329,11 @@ AM_CONDITIONAL([GENERATE_PARSER], [test x$enable_generate_parser != xno])
# It may likely work with earlier versions, but 2.7 was the oldest one we tested
# it with. We require python only if kea-shell was enabled. It is disabled
# by default to not introduce hard dependency on python.
AC_ARG_ENABLE(shell, [AC_HELP_STRING([--enable-shell],
[enable kea-shell, a text management client for Control Agent [default=no]])],
AC_ARG_ENABLE(shell, [AS_HELP_STRING([--enable-shell],[enable kea-shell, a text management client for Control Agent [default=no]])],
enable_shell=$enableval, enable_shell=no)
AC_ARG_ENABLE(generate_docs, [AC_HELP_STRING([--enable-generate-docs],
[regenerate documentation using Sphinx [default=no]])],
AC_ARG_ENABLE(generate_docs, [AS_HELP_STRING([--enable-generate-docs],[regenerate documentation using Sphinx [default=no]])],
enable_generate_docs=$enableval, enable_generate_docs=no)
@@ -1372,8 +1349,7 @@ if test "x$enable_shell" != xno -o "x$enable_generate_docs" != xno; then
AM_PATH_PYTHON([2.7])
AC_ARG_WITH(site-packages,
AC_HELP_STRING([--with-site-packages],
[place to install Kea Python module]),
AS_HELP_STRING([--with-site-packages],[place to install Kea Python module]),
[pythondir=$withval;
pkgpythondir=${pythondir}/$PACKAGE_NAME])
if test "$pythondir" = "yes"; then
@@ -1423,11 +1399,11 @@ fi
AM_CONDITIONAL(CA_TLS_TEST, test x$ca_tls_test != xno)
AC_ARG_WITH([sphinx],
AC_HELP_STRING([--with-sphinx=PATH], [path to sphinx-build tool]),
AS_HELP_STRING([--with-sphinx=PATH],[path to sphinx-build tool]),
[sphinx_path="$withval"])
AC_ARG_WITH([pdflatex],
AC_HELP_STRING([--with-pdflatex=PATH], [path to pdflatex tool]),
AS_HELP_STRING([--with-pdflatex=PATH],[path to pdflatex tool]),
[pdflatex_path="$withval"])
PDFLATEX=no
@@ -1518,13 +1494,11 @@ AM_CONDITIONAL(HAVE_PDFLATEX, test "x$PDFLATEX" != "xno")
AM_CONDITIONAL(GENERATE_DOCS, test x$enable_generate_docs != xno)
AC_ARG_ENABLE(install-configurations,
[AC_HELP_STRING([--disable-install-configurations],
[do not install configuration])], install_configurations=$enableval, install_configurations=yes)
[AS_HELP_STRING([--disable-install-configurations],[do not install configuration])], install_configurations=$enableval, install_configurations=yes)
AM_CONDITIONAL(INSTALL_CONFIGURATIONS, test x$install_configurations = xyes || test x$install_configurations = xtrue)
AC_ARG_ENABLE(logger-checks, [AC_HELP_STRING([--enable-logger-checks],
[check logger messages [default=no]])], enable_logger_checks=$enableval, enable_logger_checks=no)
AC_ARG_ENABLE(logger-checks, [AS_HELP_STRING([--enable-logger-checks],[check logger messages [default=no]])], enable_logger_checks=$enableval, enable_logger_checks=no)
AM_CONDITIONAL(ENABLE_LOGGER_CHECKS, test x$enable_logger_checks != xno)
AM_COND_IF([ENABLE_LOGGER_CHECKS], [AC_DEFINE([ENABLE_LOGGER_CHECKS], [1], [Check logger messages?])])
@@ -1552,8 +1526,7 @@ if test "x$VALGRIND" != "xno"; then
found_valgrind="found"
fi
AC_ARG_ENABLE([fuzzing], [AC_HELP_STRING([--enable-fuzzing],
[indicates that the code will be built with AFL (American Fuzzy Lop) support.
AC_ARG_ENABLE([fuzzing], [AS_HELP_STRING([--enable-fuzzing],[indicates that the code will be built with AFL (American Fuzzy Lop) support.
Code built this way is unusable as a regular server. [default=no]])],
[enable_fuzzing=$enableval], [enable_fuzzing=no])
AM_CONDITIONAL([ENABLE_AFL], [test x$enable_fuzzing != xno])
@@ -1580,14 +1553,10 @@ fi
# to reset internal state of getopt(). Failing to do so will result
# in unpredictable output from getopt().
AC_MSG_CHECKING([whether optreset variable is defined in unistd.h])
AC_TRY_LINK(
[#include <unistd.h>],
[extern int optreset; optreset=1;],
[ AC_MSG_RESULT(yes)
var_optreset_exists=yes],
[ AC_MSG_RESULT(no)
var_optreset_exists=no]
)
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[extern int optreset; optreset=1;]])],[ AC_MSG_RESULT(yes)
var_optreset_exists=yes],[ AC_MSG_RESULT(no)
var_optreset_exists=no
])
AM_CONDITIONAL(HAVE_OPTRESET, test "x$var_optreset_exists" != "xno")
AM_COND_IF([HAVE_OPTRESET], [AC_DEFINE([HAVE_OPTRESET], [1], [Check for optreset?])])

View File

@@ -50,8 +50,7 @@ boost_lib_path=
#
# If explicitly specified, use it.
AC_ARG_WITH([boost-include],
AC_HELP_STRING([--with-boost-include=PATH],
[specify exact directory for Boost headers]),
AS_HELP_STRING([--with-boost-include=PATH],[specify exact directory for Boost headers]),
[boost_include_path="$withval"])
# If not specified, try some common paths.
if test -z "$with_boost_include"; then
@@ -88,12 +87,11 @@ AC_CHECK_HEADERS(boost/integer/common_factor.hpp)
# the code and we'll end up using the system header rather than the boost. For
# example, if your boost headers are in /usr/local/include/boost, you should
# use --with-boost-include=/usr/local/include
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <regex.h>
#ifdef BOOST_RE_REGEX_H
#error "boost/regex.h"
#endif],,,
[AC_MSG_ERROR([${boost_include_path}/regex.h is used in place of /usr/include/regex.h: when specifying path to boost, please omit the /boost at the end of the include path.])])
#endif]], [[]])],[],[AC_MSG_ERROR([${boost_include_path}/regex.h is used in place of /usr/include/regex.h: when specifying path to boost, please omit the /boost at the end of the include path.])])
# clang can cause false positives with -Werror without -Qunused-arguments.
# it can be triggered if used with ccache.
@@ -104,26 +102,22 @@ AC_CHECK_DECL([__clang__], [CLANG_CXXFLAGS="-Qunused-arguments"], [])
# may depend on preceding header files, and if inconsistency happens
# it could lead to a critical disruption.
AC_MSG_CHECKING([whether Boost tries to use threads])
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <boost/config.hpp>
#ifdef BOOST_HAS_THREADS
#error "boost will use threads"
#endif],,
[AC_MSG_RESULT(no)
CPPFLAGS_BOOST_THREADCONF="-DBOOST_DISABLE_THREADS=1"],
[AC_MSG_RESULT(yes)])
#endif]], [[]])],[AC_MSG_RESULT(no)
CPPFLAGS_BOOST_THREADCONF="-DBOOST_DISABLE_THREADS=1"],[AC_MSG_RESULT(yes)])
# Boost offset_ptr is known to not compile on some platforms, depending on
# boost version, its local configuration, and compiler. Detect it.
CXXFLAGS_SAVED="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $CLANG_CXXFLAGS -Werror"
AC_MSG_CHECKING([Boost offset_ptr compiles])
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <boost/interprocess/offset_ptr.hpp>
],,
[AC_MSG_RESULT(yes)
BOOST_OFFSET_PTR_WOULDFAIL=no],
[AC_MSG_RESULT(no)
]], [[]])],[AC_MSG_RESULT(yes)
BOOST_OFFSET_PTR_WOULDFAIL=no],[AC_MSG_RESULT(no)
BOOST_OFFSET_PTR_WOULDFAIL=yes])
CXXFLAGS="$CXXFLAGS_SAVED"
@@ -134,13 +128,12 @@ if test "X$GXX" = "Xyes"; then
CXXFLAGS="$CXXFLAGS $CLANG_CXXFLAGS -Werror"
AC_MSG_CHECKING([Boost numeric_cast compiles with -Werror])
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <boost/numeric/conversion/cast.hpp>
],[
]], [[
return (boost::numeric_cast<short>(0));
],[AC_MSG_RESULT(yes)
BOOST_NUMERIC_CAST_WOULDFAIL=no],
[AC_MSG_RESULT(no)
]])],[AC_MSG_RESULT(yes)
BOOST_NUMERIC_CAST_WOULDFAIL=no],[AC_MSG_RESULT(no)
BOOST_NUMERIC_CAST_WOULDFAIL=yes])
CXXFLAGS="$CXXFLAGS_SAVED"
@@ -152,26 +145,22 @@ fi
# BOOST_STATIC_ASSERT in versions below Boost 1.54.0 is known to result
# in warnings with GCC 4.8. Detect it.
AC_MSG_CHECKING([BOOST_STATIC_ASSERT compiles])
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <boost/static_assert.hpp>
void testfn(void) { BOOST_STATIC_ASSERT(true); }
],,
[AC_MSG_RESULT(yes)
BOOST_STATIC_ASSERT_WOULDFAIL=no],
[AC_MSG_RESULT(no)
]], [[]])],[AC_MSG_RESULT(yes)
BOOST_STATIC_ASSERT_WOULDFAIL=no],[AC_MSG_RESULT(no)
BOOST_STATIC_ASSERT_WOULDFAIL=yes])
# Get libs when explicitly configured
AC_ARG_WITH([boost-libs],
AC_HELP_STRING([--with-boost-libs=SPEC],
[specify Boost libraries to link with, e.g., '-lboost_system']),
AS_HELP_STRING([--with-boost-libs=SPEC],[specify Boost libraries to link with, e.g., '-lboost_system']),
[BOOST_LIBS="$withval"
DISTCHECK_BOOST_CONFIGURE_FLAG="$DISTCHECK_BOOST_CONFIGURE_FLAG --with-boost-libs=$withval"])
# Get lib dir when explicitly configured
AC_ARG_WITH([boost-lib-dir],
AC_HELP_STRING([--with-boost-lib-dir=PATH],
[specify directory where to find Boost libraries]),
AS_HELP_STRING([--with-boost-lib-dir=PATH],[specify directory where to find Boost libraries]),
[BOOST_LIB_DIR="$withval"
DISTCHECK_BOOST_CONFIGURE_FLAG="$DISTCHECK_BOOST_CONFIGURE_FLAG --with-boost-lib-dir=$withval"])
@@ -192,11 +181,9 @@ if test "x${BOOST_LIBS}" = "x"; then
CPPFLAGS="$CPPFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"
CPPFLAGS="$CPPFLAGS -DBOOST_SYSTEM_NO_DEPRECATED"
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <boost/system/error_code.hpp>
],,
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
]], [[]])],[AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
AC_MSG_WARN([The Boost system library is required.])
BOOST_LIBS="-lboost_system"
if test "x${BOOST_LIB_DIR}" = "x"; then

View File

@@ -94,8 +94,7 @@ if test "${use_openssl}" != "auto" -a "${use_openssl}" != "no" ; then
botan_config="no"
fi
AC_ARG_WITH([botan-config],
AC_HELP_STRING([--with-botan-config=PATH],
[specify the path to the botan-config script]),
AS_HELP_STRING([--with-botan-config=PATH],[specify the path to the botan-config script]),
[botan_config="$withval"])
distcheck_botan="--with-botan-config=$botan_config"
if test "${botan_config}" = "no" ; then

View File

@@ -15,7 +15,7 @@ dnl If you pass --disable-rpath to configure, ISC_RPATH_FLAG is not set
AC_DEFUN([AX_ISC_RPATH], [
AC_ARG_ENABLE(rpath,
[AC_HELP_STRING([--disable-rpath], [don't hardcode library path into binaries])],
[AS_HELP_STRING([--disable-rpath],[don't hardcode library path into binaries])],
rpath=$enableval, rpath=yes)
if test x$rpath != xno; then
@@ -33,11 +33,10 @@ if test x$rpath != xno; then
# check -Wl,-R and -R rather than gcc specific -rpath to be as portable
# as possible. -Wl,-R seems to be safer, so we try it first. In some
# cases -R is not actually recognized but AC_TRY_LINK doesn't fail due to
# cases -R is not actually recognized but AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) doesn't fail due to
# that.
AC_MSG_CHECKING([whether -Wl,-R flag is available in linker])
AC_TRY_LINK([],[],
[ AC_MSG_RESULT(yes)
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[ AC_MSG_RESULT(yes)
ISC_RPATH_FLAG=-Wl,-R
],[ AC_MSG_RESULT(no)
AC_MSG_CHECKING([whether -R flag is available in linker])
@@ -49,7 +48,7 @@ if test x$rpath != xno; then
# up, is to use -Werror.
CXXFLAGS="$CXXFLAGS_SAVED -R/usr/lib"
CCFLAGS="$CCFLAGS_SAVED -R/usr/lib"
AC_TRY_LINK([], [],
_au_m4_changequote([,])AC_TRY_LINK([], [],
[ AC_MSG_RESULT([yes; note that -R is more sensitive about the position in option arguments])
ISC_RPATH_FLAG=-R
],[ AC_MSG_RESULT(no) ])