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.