summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorVladimir Kobal <vlad@prokk.net>2020-07-16 15:10:35 +0300
committerGitHub <noreply@github.com>2020-07-16 15:10:35 +0300
commit3e84239ff64ececa6bd54bbddbc9e3d22542dfa9 (patch)
treea86249faf962bec50715e925a432bb07efe3d102 /configure.ac
parent1b606bc1b2a16dfbcc8b5c7ed780906b482eef11 (diff)
Use the libbpf library for the eBPF plugin (#9490)
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac38
1 files changed, 24 insertions, 14 deletions
diff --git a/configure.ac b/configure.ac
index 1cba7bdd49..6268734922 100644
--- a/configure.ac
+++ b/configure.ac
@@ -406,17 +406,6 @@ PKG_CHECK_MODULES([JSON],[json-c],AC_CHECK_LIB(
OPTIONAL_JSONC_LIBS="${JSONC_LIBS}"
# -----------------------------------------------------------------------------
-# VFS plugin libs
-
-AC_CHECK_LIB(
- [dl],
- [dlopen],
- [EBPF_LIBS="-ldl"]
-)
-
-OPTIONAL_EBPF_LIBS="${EBPF_LIBS}"
-
-# -----------------------------------------------------------------------------
# DB engine and HTTPS
test "${enable_dbengine}" = "yes" -a -z "${LZ4_LIBS}" && \
AC_MSG_ERROR([liblz4 required but not found. Try installing 'liblz4-dev' or 'lz4-devel'.])
@@ -957,8 +946,28 @@ AM_CONDITIONAL([ENABLE_PLUGIN_PERF], [test "${enable_plugin_perf}" = "yes"])
# -----------------------------------------------------------------------------
# ebpf.plugin
+PKG_CHECK_MODULES(
+ [LIBELF],
+ [libelf],
+ [have_libelf=yes],
+ [have_libelf=no]
+)
+
+AC_CHECK_TYPE(
+ [struct bpf_prog_info],
+ [have_bpf=yes],
+ [have_bpf=no],
+ [#include <linux/bpf.h>]
+)
+
AC_MSG_CHECKING([if ebpf.plugin should be enabled])
-if test "${build_target}" == "linux" -a "${EBPF_LIBS}"; then
+if test "${build_target}" = "linux" -a \
+ "${have_libelf}" = "yes" -a \
+ "${have_bpf}" = "yes" -a \
+ -f externaldeps/libbpf/libbpf.a; then
+ OPTIONAL_BPF_CFLAGS="${LIBELF_CFLAGS} -I externaldeps/libbpf/include"
+ OPTIONAL_BPF_LIBS="externaldeps/libbpf/libbpf.a ${LIBELF_LIBS}"
+ AC_DEFINE([HAVE_LIBBPF], [1], [libbpf usability])
enable_ebpf="yes"
else
enable_ebpf="no"
@@ -1330,7 +1339,7 @@ AC_SUBST([webdir])
CFLAGS="${CFLAGS} ${OPTIONAL_MATH_CFLAGS} ${OPTIONAL_NFACCT_CFLAGS} ${OPTIONAL_ZLIB_CFLAGS} ${OPTIONAL_UUID_CFLAGS} \
${OPTIONAL_LIBCAP_CFLAGS} ${OPTIONAL_IPMIMONITORING_CFLAGS} ${OPTIONAL_CUPS_CFLAGS} ${OPTIONAL_XENSTAT_FLAGS} \
${OPTIONAL_KINESIS_CFLAGS} ${OPTIONAL_PUBSUB_CFLAGS} ${OPTIONAL_PROMETHEUS_REMOTE_WRITE_CFLAGS} \
- ${OPTIONAL_MONGOC_CFLAGS} ${LWS_CFLAGS} ${OPTIONAL_JSONC_STATIC_CFLAGS}"
+ ${OPTIONAL_MONGOC_CFLAGS} ${LWS_CFLAGS} ${OPTIONAL_JSONC_STATIC_CFLAGS} ${OPTIONAL_BPF_CFLAGS}"
CXXFLAGS="${CFLAGS} ${CXX11FLAG}"
@@ -1352,7 +1361,6 @@ AC_SUBST([OPTIONAL_UV_LIBS])
AC_SUBST([OPTIONAL_LZ4_LIBS])
AC_SUBST([OPTIONAL_JUDY_LIBS])
AC_SUBST([OPTIONAL_SSL_LIBS])
-AC_SUBST([OPTIONAL_EBPF_LIBS])
AC_SUBST([OPTIONAL_JSONC_LIBS])
AC_SUBST([OPTIONAL_NFACCT_CFLAGS])
AC_SUBST([OPTIONAL_NFACCT_LIBS])
@@ -1360,6 +1368,8 @@ AC_SUBST([OPTIONAL_ZLIB_CFLAGS])
AC_SUBST([OPTIONAL_ZLIB_LIBS])
AC_SUBST([OPTIONAL_UUID_CFLAGS])
AC_SUBST([OPTIONAL_UUID_LIBS])
+AC_SUBST([OPTIONAL_BPF_CFLAGS])
+AC_SUBST([OPTIONAL_BPF_LIBS])
AC_SUBST([OPTIONAL_MQTT_LIBS])
AC_SUBST([OPTIONAL_LIBCAP_CFLAGS])
AC_SUBST([OPTIONAL_LIBCAP_LIBS])