use std::env;
fn main() {
println!("cargo:rerun-if-changed=vendor/mimalloc-pprof-amalgamated.c");
println!("cargo:rerun-if-changed=vendor/mimalloc-pprof-amalgamated.h");
println!("cargo:rerun-if-changed=vendor/mimalloc.h");
println!("cargo:rerun-if-changed=vendor/mimalloc-stats.h");
let mut build = cc::Build::new();
build
.include("vendor")
.file("vendor/mimalloc-pprof-amalgamated.c")
.define("MI_STATIC_LIB", None)
.define("MI_PPROF", "1");
if env::var("PROFILE").as_deref() == Ok("release") {
build.define("NDEBUG", None);
}
build.compile("mimalloc");
if env::var("TARGET").is_ok_and(|target| target.contains("windows")) {
for library in ["psapi", "shell32", "user32", "advapi32", "bcrypt"] {
println!("cargo:rustc-link-lib={library}");
}
}
}