Merge "BPF: Implement build time feature flag for libbpf" into main
diff --git a/loader/Android.bp b/loader/Android.bp
index 5854f86..4f66cdf 100644
--- a/loader/Android.bp
+++ b/loader/Android.bp
@@ -113,6 +113,10 @@
rust_binary {
name: "bpfloader",
+ cfgs: select(release_flag("RELEASE_BPF_ENABLE_LIBBPF"), {
+ true: ["enable_libbpf"],
+ default: [],
+ }),
srcs: [
"bpfloader.rs",
],
diff --git a/loader/bpfloader.rs b/loader/bpfloader.rs
index b934d98..ede1a29 100644
--- a/loader/bpfloader.rs
+++ b/loader/bpfloader.rs
@@ -16,7 +16,19 @@
//! BPF loader for system and vendor applications
+#[cfg(enable_libbpf)]
+fn load_libbpf_progs() {
+ // Libbpf loader functionality here.
+}
+
+#[cfg(not(enable_libbpf))]
+fn load_libbpf_progs() {
+ // Empty stub for feature flag disabled case
+}
+
fn main() {
+ load_libbpf_progs();
+
// SAFETY: Linking in the existing legacy bpfloader functionality.
// Any of the four following bindgen functions can abort() or exit()
// on failure and execNetBpfLoadDone() execve()'s.