From 7e6e3bbaf7310794dc04ab02e3ef9e1a68d70416 Mon Sep 17 00:00:00 2001
From: "Austin S. Hemmelgarn" <austin@netdata.cloud>
Date: Tue, 28 Jan 2025 13:35:36 -0500
Subject: [PATCH] Link the ebpf plugin against libbpf directly instead of
 through libnetdata. (#19514)

---
 CMakeLists.txt                              | 6 +-----
 packaging/cmake/Modules/NetdataLibBPF.cmake | 2 +-
 src/libnetdata/libnetdata.h                 | 3 ---
 3 files changed, 2 insertions(+), 9 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c8185ef29a..b356a58f87 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2156,11 +2156,6 @@ if(OS_WINDOWS)
         endif()
 endif()
 
-# ebpf
-if(ENABLE_PLUGIN_EBPF)
-        netdata_add_libbpf_to_target(libnetdata)
-endif()
-
 # judy
 target_link_libraries(libnetdata PUBLIC judy)
 
@@ -2657,6 +2652,7 @@ if(ENABLE_PLUGIN_EBPF)
     add_executable(ebpf.plugin ${EBPF_PLUGIN_FILES})
     target_link_libraries(ebpf.plugin libnetdata)
 
+    netdata_add_libbpf_to_target(ebpf.plugin)
     netdata_add_ebpf_co_re_to_target(ebpf.plugin)
 
     install(TARGETS ebpf.plugin
diff --git a/packaging/cmake/Modules/NetdataLibBPF.cmake b/packaging/cmake/Modules/NetdataLibBPF.cmake
index e2173d3667..c5b8fcc94b 100644
--- a/packaging/cmake/Modules/NetdataLibBPF.cmake
+++ b/packaging/cmake/Modules/NetdataLibBPF.cmake
@@ -93,7 +93,7 @@ endfunction()
 
 # Add libbpf as a link dependency for the given target.
 function(netdata_add_libbpf_to_target _target)
-    target_link_libraries(${_target} PUBLIC libbpf_library)
+    target_link_libraries(${_target} libbpf_library)
     target_include_directories(${_target} BEFORE PUBLIC "${NETDATA_LIBBPF_INCLUDE_DIRECTORIES}")
     target_compile_options(${_target} PUBLIC "${NETDATA_LIBBPF_COMPILE_OPTIONS}")
     add_dependencies(${_target} libbpf)
diff --git a/src/libnetdata/libnetdata.h b/src/libnetdata/libnetdata.h
index 5a38359242..52a0cbfa35 100644
--- a/src/libnetdata/libnetdata.h
+++ b/src/libnetdata/libnetdata.h
@@ -125,9 +125,6 @@ extern const char *netdata_configured_host_prefix;
 
 #include "log/systemd-journal-helpers.h"
 
-#if defined(HAVE_LIBBPF) && !defined(__cplusplus)
-#include "ebpf/ebpf.h"
-#endif
 #include "eval/eval.h"
 #include "statistical/statistical.h"
 #include "adaptive_resortable_list/adaptive_resortable_list.h"