Merge branch 'collectd-5.7'
[collectd.git] / configure.ac
index 49baf0a..3ef5f82 100644 (file)
@@ -3,34 +3,15 @@ AC_PREREQ([2.60])
 AC_INIT([collectd],[m4_esyscmd(./version-gen.sh)])
 AC_CONFIG_SRCDIR(src/target_set.c)
 AC_CONFIG_HEADERS(src/config.h)
-AC_CONFIG_AUX_DIR([libltdl/config])
+AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_MACRO_DIR([m4])
 
 dnl older automake's default of ARFLAGS=cru is noisy on newer binutils;
 dnl we don't really need the 'u' even in older toolchains.  Then there is
 dnl older libtool, which spelled it AR_FLAGS
 m4_divert_text([DEFAULTS], [: "${ARFLAGS=cr} ${AR_FLAGS=cr}"])
 
-m4_ifdef([LT_PACKAGE_VERSION],
-       # libtool >= 2.2
-       [
-        LT_CONFIG_LTDL_DIR([libltdl])
-        LT_INIT([dlopen])
-        LTDL_INIT([convenience])
-        AC_DEFINE(LIBTOOL_VERSION, 2, [Define to used libtool version.])
-       ]
-,
-       # libtool <= 1.5
-       [
-        AC_LIBLTDL_CONVENIENCE
-        AC_SUBST(LTDLINCL)
-        AC_SUBST(LIBLTDL)
-        AC_LIBTOOL_DLOPEN
-        AC_CONFIG_SUBDIRS(libltdl)
-        AC_DEFINE(LIBTOOL_VERSION, 1, [Define to used libtool version.])
-       ]
-)
-
-AM_CONDITIONAL([BUILD_INCLUDED_LTDL], [test "x$LTDLDEPS" != "x"])
+LT_INIT([dlopen])
 
 AM_INIT_AUTOMAKE([subdir-objects tar-pax dist-bzip2 no-dist-gzip foreign])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
@@ -56,7 +37,6 @@ AM_PROG_CC_C_O
 AM_CONDITIONAL(COMPILER_IS_GCC, test "x$GCC" = "xyes")
 
 AC_DISABLE_STATIC
-AC_PROG_LIBTOOL
 AC_PROG_LEX
 AC_PROG_YACC
 
@@ -79,6 +59,12 @@ then
        AC_MSG_ERROR([bison is missing and you do not have ${srcdir}/src/liboconfig/parser.c. Please install bison])
 fi
 
+AS_IF([test "x$lt_cv_dlopen" = "xno"],
+  [AC_MSG_ERROR([Your system does not support dlopen])]
+)
+
+AC_SUBST([DLOPEN_LIBS], [$lt_cv_dlopen_libs])
+
 AC_ARG_VAR([PROTOC], [path to the protoc binary])
 AC_PATH_PROG([PROTOC], [protoc])
 have_protoc3="no"
@@ -2606,78 +2592,37 @@ fi
 # }}}
 
 # --with-libdpdk {{{
-AC_ARG_WITH(libdpdk, [AS_HELP_STRING([--with-libdpdk@<:@=PREFIX@:>@], [Path to the DPDK build directory.])],
-[
-       if test "x$withval" != "xno" && test "x$withval" != "xyes"
-       then
-               RTE_BUILD="$withval"
-               with_libdpdk="yes"
-       else
-               RTE_BUILD="/usr"
-               with_libdpdk="$withval"
-       fi
-       DPDK_INCLUDE="$RTE_BUILD/include"
-       DPDK_LIB_DIR="$RTE_BUILD/lib"
-       FOUND_DPDK=yes
-], [with_libdpdk="no"])
+AC_ARG_VAR([LIBDPDK_CPPFLAGS], [Preprocessor flags for libdpdk])
+AC_ARG_VAR([LIBDPDK_LDFLAGS], [Linker flags for libdpdk])
 
-if test "x$with_libdpdk" = "xyes"
-then
-       LOCAL_DPDK_INSTALL="no"
-       AC_CHECK_HEADER([$DPDK_INCLUDE/rte_config.h], [LOCAL_DPDK_INSTALL=yes],
-               [AC_CHECK_HEADER([$DPDK_INCLUDE/dpdk/rte_config.h],
-               [],
-               [FOUND_DPDK=no], [])], [])
-
-       if test "x$LOCAL_DPDK_INSTALL" = "xno"
-       then
-               DPDK_INCLUDE=$DPDK_INCLUDE/dpdk
-       fi
+AC_ARG_WITH([libdpdk], [AS_HELP_STRING([--without-libdpdk], [Disable libdpdk.])])
 
-       if test "x$FOUND_DPDK" = "xno"
+if test "x$with_libdpdk" != "xno"
+then
+       if test "x$LIBDPDK_CPPFLAGS" = "x"
        then
-               AC_MSG_ERROR([libdpdk error: rte_config.h not found])
+               LIBDPDK_CPPFLAGS="-I/usr/include/dpdk"
        fi
+       SAVE_CPPFLAGS="$CPPFLAGS"
+       CPPFLAGS="$LIBDPDK_CPPFLAGS $CPPFLAGS"
+       AC_CHECK_HEADERS([rte_config.h],
+               [with_libdpdk="yes"],
+               [with_libdpdk="no (rte_config.h not found)"]
+       )
+       CPPFLAGS="$SAVE_CPPFLAGS"
 fi
 
 if test "x$with_libdpdk" = "xyes"
 then
        SAVE_LDFLAGS="$LDFLAGS"
-
-       if test "x$LOCAL_DPDK_INSTALL" != "xyes"
-       then
-               LDFLAGS="$LDFLAGS -L$DPDK_LIB_DIR"
-        fi
-
-       AC_CHECK_LIB(dpdk, rte_eal_init,
-                     [BUILD_WITH_DPDK_LIBS="-Wl,-ldpdk"],
-                     [FOUND_DPDK=no])
-
+       LDFLAGS="$LIBDPDK_LDFLAGS $LDFLAGS"
+       AC_CHECK_LIB([dpdk], [rte_eal_init],
+               [with_libdpdk="yes"],
+               [with_libdpdk="no (symbol 'rte_eal_init' not found)"]
+       )
        LDFLAGS="$SAVE_LDFLAGS"
-       if test "x$FOUND_DPDK" = "xno"
-       then
-               AC_MSG_ERROR([libdpdk error: cannot link with dpdk in $DPDK_LIB_DIR])
-       fi
 fi
 
-#
-# Note: An issue on Ubuntu 14.04 necessitates the use of -Wl,--no-as-needed:
-# If you try compile with the older linker, the dpdk symbols will be undefined.
-# This workaround should be removed when no longer necessary.
-#
-if test "x$with_libdpdk" = "xyes"
-then
-       BUILD_WITH_DPDK_CFLAGS+="-I$DPDK_INCLUDE"
-       if test "x$LOCAL_DPDK_INSTALL" != "xyes"
-       then
-               BUILD_WITH_DPDK_LDFLAGS="-Wl,--no-as-needed"
-       else
-               BUILD_WITH_DPDK_LDFLAGS="-L$DPDK_LIB_DIR -Wl,--no-as-needed"
-        fi
-       AC_SUBST(BUILD_WITH_DPDK_CFLAGS)
-       AC_SUBST(BUILD_WITH_DPDK_LDFLAGS)
-       AC_SUBST(BUILD_WITH_DPDK_LIBS)
-fi
 # }}}
 
 # --with-java {{{
@@ -2962,15 +2907,15 @@ fi
 
 if test "x$with_liblua" = "xyes"
 then
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $LUA_CFLAGS"
+  SAVE_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $LUA_CFLAGS"
 
   AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
     [with_liblua="yes"],
     [with_liblua="no (header not found)"]
   )
 
-  CFLAGS="$SAVE_CFLAGS"
+  CPPFLAGS="$SAVE_CPPFLAGS"
 fi
 
 if test "x$with_liblua" = "xyes"
@@ -5964,7 +5909,7 @@ plugin_curl_xml="no"
 plugin_df="no"
 plugin_disk="no"
 plugin_drbd="no"
-plugin_dpdk="no"
+plugin_dpdkstat="no"
 plugin_entropy="no"
 plugin_ethstat="no"
 plugin_fhcount="no"
@@ -6375,6 +6320,11 @@ then
   plugin_xencpu="yes"
 fi
 
+if test "x$with_libdpdk" = "xyes"
+then
+  plugin_dpdkstat="yes"
+fi
+
 m4_divert_once([HELP_ENABLE], [
 collectd plugins:])
 
@@ -6421,7 +6371,7 @@ AC_PLUGIN([dbi],                 [$with_libdbi],            [General database st
 AC_PLUGIN([df],                  [$plugin_df],              [Filesystem usage statistics])
 AC_PLUGIN([disk],                [$plugin_disk],            [Disk usage statistics])
 AC_PLUGIN([dns],                 [$with_libpcap],           [DNS traffic analysis])
-AC_PLUGIN([dpdkstat],            [$with_libdpdk],           [Stats & Status from DPDK])
+AC_PLUGIN([dpdkstat],            [$plugin_dpdkstat],        [Stats & Status from DPDK])
 AC_PLUGIN([drbd],                [$plugin_drbd],            [DRBD statistics])
 AC_PLUGIN([email],               [yes],                     [EMail statistics])
 AC_PLUGIN([entropy],             [$plugin_entropy],         [Entropy statistics])
@@ -6858,7 +6808,7 @@ AC_MSG_RESULT([    dbi . . . . . . . . . $enable_dbi])
 AC_MSG_RESULT([    df  . . . . . . . . . $enable_df])
 AC_MSG_RESULT([    disk  . . . . . . . . $enable_disk])
 AC_MSG_RESULT([    dns . . . . . . . . . $enable_dns])
-AC_MSG_RESULT([    dpdkstat . . . . . . .$enable_dpdkstat])
+AC_MSG_RESULT([    dpdkstat  . . . . . . $enable_dpdkstat])
 AC_MSG_RESULT([    drbd  . . . . . . . . $enable_drbd])
 AC_MSG_RESULT([    email . . . . . . . . $enable_email])
 AC_MSG_RESULT([    entropy . . . . . . . $enable_entropy])