41 lines
1.6 KiB
Rust
41 lines
1.6 KiB
Rust
use cfg_aliases::cfg_aliases;
|
|
|
|
fn main() {
|
|
cfg_aliases! {
|
|
android: { target_os = "android" },
|
|
dragonfly: { target_os = "dragonfly" },
|
|
ios: { target_os = "ios" },
|
|
freebsd: { target_os = "freebsd" },
|
|
illumos: { target_os = "illumos" },
|
|
linux: { target_os = "linux" },
|
|
macos: { target_os = "macos" },
|
|
netbsd: { target_os = "netbsd" },
|
|
openbsd: { target_os = "openbsd" },
|
|
solaris: { target_os = "solaris" },
|
|
watchos: { target_os = "watchos" },
|
|
tvos: { target_os = "tvos" },
|
|
visionos: { target_os = "visionos" },
|
|
|
|
|
|
// cfg aliases we would like to use
|
|
apple_targets: { any(ios, macos, watchos, tvos, visionos) },
|
|
bsd: { any(freebsd, dragonfly, netbsd, openbsd, apple_targets) },
|
|
bsd_without_apple: { any(freebsd, dragonfly, netbsd, openbsd) },
|
|
linux_android: { any(android, linux) },
|
|
freebsdlike: { any(dragonfly, freebsd) },
|
|
netbsdlike: { any(netbsd, openbsd) },
|
|
solarish: { any(illumos, solaris) },
|
|
}
|
|
|
|
// Below are Nix's custom cfg values that we need to let the compiler know
|
|
println!("cargo:rustc-check-cfg=cfg(apple_targets)");
|
|
println!("cargo:rustc-check-cfg=cfg(bsd)");
|
|
println!("cargo:rustc-check-cfg=cfg(bsd_without_apple)");
|
|
println!("cargo:rustc-check-cfg=cfg(linux_android)");
|
|
println!("cargo:rustc-check-cfg=cfg(freebsdlike)");
|
|
println!("cargo:rustc-check-cfg=cfg(netbsdlike)");
|
|
println!("cargo:rustc-check-cfg=cfg(solarish)");
|
|
println!("cargo:rustc-check-cfg=cfg(fbsd14)");
|
|
println!("cargo:rustc-check-cfg=cfg(qemu)");
|
|
}
|