-
Notifications
You must be signed in to change notification settings - Fork 86
/
build.rs
27 lines (26 loc) · 1.04 KB
/
build.rs
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
fn main() {
println!("cargo:rerun-if-changed=build.rs");
println!("cargo:rustc-check-cfg=cfg(slab_no_const_vec_new,slab_no_track_caller)");
let cfg = match autocfg::AutoCfg::new() {
Ok(cfg) => cfg,
Err(e) => {
// If we couldn't detect the compiler version and features, just
// print a warning. This isn't a fatal error: we can still build
// Slab, we just can't enable cfgs automatically.
println!(
"cargo:warning=slab: failed to detect compiler features: {}",
e
);
return;
}
};
// Note that this is `no_`*, not `has_*`. This allows treating as the latest
// stable rustc is used when the build script doesn't run. This is useful
// for non-cargo build systems that don't run the build script.
if !cfg.probe_rustc_version(1, 39) {
println!("cargo:rustc-cfg=slab_no_const_vec_new");
}
if !cfg.probe_rustc_version(1, 46) {
println!("cargo:rustc-cfg=slab_no_track_caller");
}
}