aboutsummaryrefslogtreecommitdiff
path: root/build.rs
blob: b60351aaf2ab6badf3dfb071c51808045e5178df (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
fn main() {
    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");
    }
}