X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=configure.ac;h=ca1264082f74c80a18228b351108a6f075553317;hb=72136f8418bc7e8a0a5bf3c11215aa49dc679659;hp=ad5ba622301d909cdd379b3c6ec8fda999d914d9;hpb=3cceae93f61a44d4f9f38d729555b2f31e209beb;p=tinc diff --git a/configure.ac b/configure.ac index ad5ba622..ca126408 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,10 @@ dnl Process this file with autoconf to produce a configure script. +origcflags="$CFLAGS" + AC_PREREQ(2.61) AC_INIT([tinc], m4_esyscmd_s((git describe || echo UNKNOWN) | sed 's/release-//')) AC_CONFIG_SRCDIR([src/tincd.c]) -AC_GNU_SOURCE AM_INIT_AUTOMAKE([std-options subdir-objects nostdinc silent-rules -Wall]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -19,10 +20,12 @@ dnl Checks for programs. AC_PROG_CC_C99 AC_PROG_CPP AC_PROG_INSTALL -AC_PROG_LN_S - AM_PROG_CC_C_O +dnl Check whether to enable code coverage testing, and if so, clear the default CFLAGS. +AX_CODE_COVERAGE +AS_IF([test "x$enable_code_coverage" = "xyes" -a "x$origcflags" = "x"], [CFLAGS=""]) + dnl Check and set OS AC_CANONICAL_HOST @@ -117,7 +120,7 @@ AC_ARG_WITH(systemd, [ systemd=false ] ) -AS_IF([test "x$with_systemd" = "xyes"], [systemd_path="/lib/systemd/system"], +AS_IF([test "x$with_systemd" = "xyes"], [systemd_path="\${libdir}/systemd/system"], [AS_IF([test "x$with_systemd" = "xno"], [systemd=false])]) AC_SUBST(systemd_path, $systemd_path) @@ -140,6 +143,8 @@ AS_IF([test -d /sw/lib], [LIBS="$LIBS -L/sw/lib"]) dnl Compiler hardening flags dnl No -fstack-protector-all because it doesn't work on all platforms or architectures. +AX_CFLAGS_WARN_ALL(CFLAGS) + AC_ARG_ENABLE([hardening], AS_HELP_STRING([--disable-hardening], [disable compiler and linker hardening flags])) AS_IF([test "x$enable_hardening" != "xno"], [AX_CHECK_COMPILE_FLAG([-DFORTIFY_SOURCE=2], [CPPFLAGS="$CPPFLAGS -DFORTIFY_SOURCE=2"]) @@ -184,7 +189,7 @@ AC_CHECK_TYPES([struct ether_header, struct arphdr, struct ether_arp, struct ip, dnl Checks for library functions. AC_TYPE_SIGNAL -AC_CHECK_FUNCS([asprintf daemon fchmod flock ftime fork gettimeofday mlockall putenv recvmmsg strsignal nanosleep unsetenv vsyslog devname fdevname], +AC_CHECK_FUNCS([asprintf daemon fchmod flock fork gettimeofday mlockall putenv recvmmsg strsignal nanosleep unsetenv vsyslog devname fdevname], [], [], [#include "$srcdir/src/have.h"] ) @@ -203,7 +208,7 @@ case $host_os in [], [AC_MSG_ERROR([Required header file missng])], [#include "$srcdir/src/have.h"] ) ;; - *bsd*|*darwin*) + *bsd*|*dragonfly*|*darwin*) AC_CHECK_HEADERS([net/if_tun.h net/if_utun.h net/tun/if_tun.h net/if_tap.h net/tap/if_tap.h], [], [], [#include "$srcdir/src/have.h"] ) @@ -255,6 +260,11 @@ AC_ARG_ENABLE(jumbograms, ] ) -AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile gui/Makefile test/Makefile systemd/Makefile]) +dnl Ensure runstatedir is set if we are using a version of autoconf that does not suppport it +if test "x$runstatedir" = "x"; then + AC_SUBST([runstatedir], ['${localstatedir}/run']) +fi + +AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile test/Makefile systemd/Makefile]) AC_OUTPUT