use std::path::PathBuf;

fn main() {
    if cfg!(feature = "test") {
        let src_dir = PathBuf::from(std::env::var_os("CARGO_MANIFEST_DIR").unwrap());
        let test_dir = &format!("{}/tests/testdata", src_dir.to_str().unwrap());

        println!("cargo:rerun-if-changed={}", format!("{}/test.c", test_dir));
        cc::Build::new()
            .compiler("/usr/bin/clang-10")
            .no_default_flags(true)
            .warnings(false)
            .cargo_metadata(false)
            .file(format!("{}/test.c", test_dir))
            .include(test_dir)
            .include("/usr/include/x86_64-linux-gnu")
            .flag("-g")
            .flag("-O2")
            .flag("--target=bpf")
            .out_dir(test_dir)
            .compile("test");

        std::fs::remove_file(format!("{}/libtest.a", test_dir)).unwrap();
    }
}
