X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=configure.ac;h=31c842afcede940e66c458f3b30369438fa41898;hp=929205bc672f7550cf610960668440326afd1371;hb=e1bfa71aca1f37c2f293dc9adb44065c6e7a9ad9;hpb=4eee46d61a42706a4c9ccc4d4af9c6df30708216 diff --git a/configure.ac b/configure.ac index 929205bc..31c842af 100644 --- a/configure.ac +++ b/configure.ac @@ -2531,6 +2531,81 @@ then 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"]) + +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 + + if test "x$FOUND_DPDK" = "xno" + then + AC_MSG_ERROR([libdpdk error: rte_config.h not found]) + fi +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="$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 {{{ with_java_home="$JAVA_HOME" if test "x$with_java_home" = "x" @@ -5703,6 +5778,7 @@ plugin_curl_xml="no" plugin_df="no" plugin_disk="no" plugin_drbd="no" +plugin_dpdk="no" plugin_entropy="no" plugin_ethstat="no" plugin_fhcount="no" @@ -6153,6 +6229,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([drbd], [$plugin_drbd], [DRBD statistics]) AC_PLUGIN([email], [yes], [EMail statistics]) AC_PLUGIN([entropy], [$plugin_entropy], [Entropy statistics]) @@ -6493,6 +6570,7 @@ AC_MSG_RESULT([ libaquaero5 . . . . . $with_libaquaero5]) AC_MSG_RESULT([ libatasmart . . . . . $with_libatasmart]) AC_MSG_RESULT([ libcurl . . . . . . . $with_libcurl]) AC_MSG_RESULT([ libdbi . . . . . . . $with_libdbi]) +AC_MSG_RESULT([ libdpdk . . . . . . . $with_libdpdk]) AC_MSG_RESULT([ libesmtp . . . . . . $with_libesmtp]) AC_MSG_RESULT([ libganglia . . . . . $with_libganglia]) AC_MSG_RESULT([ libgcrypt . . . . . . $with_libgcrypt]) @@ -6584,6 +6662,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([ drbd . . . . . . . . $enable_drbd]) AC_MSG_RESULT([ email . . . . . . . . $enable_email]) AC_MSG_RESULT([ entropy . . . . . . . $enable_entropy])