build.rs (19 lines of code) (raw):
use std::env;
use std::ffi::OsStr;
use std::path::PathBuf;
use libbpf_cargo::SkeletonBuilder;
const SRC: &str = "src/bpf/pid_iter.bpf.c";
fn main() {
let out = PathBuf::from(
env::var_os("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR must be set in build script"),
)
.join("src")
.join("bpf")
.join("pid_iter.skel.rs");
SkeletonBuilder::new()
.source(SRC)
.clang_args([OsStr::new("-I")])
.build_and_generate(&out)
.unwrap();
println!("cargo:rerun-if-changed={SRC}");
}