summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b614c13)
raw | patch | inline | side by side (parent: b614c13)
author | Ruben Kerkhof <ruben@rubenkerkhof.com> | |
Sat, 19 Nov 2016 16:31:23 +0000 (17:31 +0100) | ||
committer | Ruben Kerkhof <ruben@rubenkerkhof.com> | |
Sat, 19 Nov 2016 16:31:23 +0000 (17:31 +0100) |
This fixes various issues, like us not picking up the right include path
and testing for the library in the wrong location.
We now allow you to override the CPPFLAGS and LDFLAGS by doing
./configure LIBDPDK_CPPFLAGS="-I/path/to/your/libdpdk_headers" LIBDPDK_LDFLAGS="-L/path/to/your/libdpdk.so -Wl,--no-as-needed"
The nice thing is that these settings are now logged and remembered
between configure runs.
and testing for the library in the wrong location.
We now allow you to override the CPPFLAGS and LDFLAGS by doing
./configure LIBDPDK_CPPFLAGS="-I/path/to/your/libdpdk_headers" LIBDPDK_LDFLAGS="-L/path/to/your/libdpdk.so -Wl,--no-as-needed"
The nice thing is that these settings are now logged and remembered
between configure runs.
configure.ac | patch | blob | history | |
src/Makefile.am | patch | blob | history |
diff --git a/configure.ac b/configure.ac
index 34abfe1219f57c5ef11d13f06b88b02f7f6d5e0b..54e4459be188f309834fbcf1ca893683463698e0 100644 (file)
--- a/configure.ac
+++ b/configure.ac
# }}}
# --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="yes"])
-
-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], [])], [])
+LIBDPDK_CPPFLAGS="-I/usr/include/dpdk"
+LIBDPDK_LDFLAGS=""
+AC_ARG_VAR([LIBDPDK_CPPFLAGS], [Preprocessor flags for libdpdk])
+AC_ARG_VAR([LIBDPDK_LDFLAGS], [Linker flags for libdpdk])
- 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"
- then
- AC_MSG_ERROR([libdpdk error: rte_config.h not found])
- fi
+if test "x$with_libdpdk" != "xno"
+then
+ 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_libdpkd="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 {{{
plugin_df="no"
plugin_disk="no"
plugin_drbd="no"
-plugin_dpdk="no"
+plugin_dpdkstat="no"
plugin_entropy="no"
plugin_ethstat="no"
plugin_fhcount="no"
plugin_xencpu="yes"
fi
+if test "x$with_libdpkd" = "xyes"
+then
+ plugin_dpdkstat="yes"
+fi
+
m4_divert_once([HELP_ENABLE], [
collectd plugins:])
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])
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])
diff --git a/src/Makefile.am b/src/Makefile.am
index 18dddf77efcb17605bd6d5e8f5e677f7d60f6815..d688a24fc489c0779adf65174906671fc0645c32 100644 (file)
--- a/src/Makefile.am
+++ b/src/Makefile.am
if BUILD_PLUGIN_DPDKSTAT
pkglib_LTLIBRARIES += dpdkstat.la
dpdkstat_la_SOURCES = dpdkstat.c
-dpdkstat_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_DPDK_CFLAGS)
-dpdkstat_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_DPDK_LDFLAGS)
-dpdkstat_la_LIBADD = $(BUILD_WITH_DPDK_LIBS)
+dpdkstat_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBDPDK_CPPFLAGS)
+dpdkstat_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(LIBDPDK_LDFLAGS)
+dpdkstat_la_LIBADD = -ldpdk
endif
if BUILD_PLUGIN_DRBD