fn main() {
println!("cargo:rerun-if-changed=build.rs");
for name in [
"has_ip_pktinfo",
"has_ipv6_pktinfo",
"has_recv_hoplimit",
"has_recv_timestamp",
"recv_timestamp_ns",
] {
println!("cargo::rustc-check-cfg=cfg({name})");
}
let os = std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default();
let vendor = std::env::var("CARGO_CFG_TARGET_VENDOR").unwrap_or_default();
let apple = vendor == "apple";
let linux_like = os == "linux" || os == "android";
let freebsdlike = os == "freebsd" || os == "dragonfly";
let netbsdlike = os == "openbsd" || os == "netbsd";
if linux_like || apple {
println!("cargo::rustc-cfg=has_ip_pktinfo");
}
if linux_like || apple || freebsdlike || netbsdlike {
println!("cargo::rustc-cfg=has_ipv6_pktinfo");
}
if linux_like || apple || freebsdlike {
println!("cargo::rustc-cfg=has_recv_hoplimit");
}
if linux_like || apple || freebsdlike || netbsdlike {
println!("cargo::rustc-cfg=has_recv_timestamp");
}
if linux_like {
println!("cargo::rustc-cfg=recv_timestamp_ns");
}
}