blob: 1009eefacbbd566e022ded2f5a7a391d50077e8d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
use anyhow::Result;
use std::process::Command;
fn main() -> Result<()> {
let args: Vec<String> = std::env::args().collect();
if args.len() < 2 {
eprintln!("Usage: cargo xtask build-ebpf");
std::process::exit(1);
}
match args[1].as_str() {
"build-ebpf" => build_ebpf()?,
_ => eprintln!("Unknown command: {}", args[1]),
}
Ok(())
}
fn build_ebpf() -> Result<()> {
let status = Command::new("cargo")
.args(&[
"+nightly",
"build",
"--target=bpfel-unknown-none",
"--release",
"-Z",
"build-std=core",
"--manifest-path=packet-detector-ebpf/Cargo.toml",
])
.status()?;
if !status.success() {
anyhow::bail!("Failed to build eBPF program");
}
Ok(())
}
|