+ let build_dir = env::var_os("RUSTBUILD_NATIVE_DIR").unwrap_or(env::var_os("OUT_DIR").unwrap());
+ let build_dir = PathBuf::from(build_dir).join("jemalloc");
+ let _ = fs::create_dir_all(&build_dir);
+
+ if target.contains("windows") {
+ println!("cargo:rustc-link-lib=static=jemalloc");
+ } else {
+ println!("cargo:rustc-link-lib=static=jemalloc_pic");
+ }
+ println!("cargo:rustc-link-search=native={}/lib", build_dir.display());
+ if target.contains("android") {
+ println!("cargo:rustc-link-lib=gcc");
+ } else if !target.contains("windows") && !target.contains("musl") {
+ println!("cargo:rustc-link-lib=pthread");
+ }
+ if !cfg!(stage0) {
+ return
+ }
+
+ let host = env::var("HOST").expect("HOST was not set");
+ let src_dir = env::current_dir().unwrap().join("../jemalloc");
+ rerun_if_changed_anything_in_dir(&src_dir);