use std::process::Command;
fn main() {
- if env::var("RUSTC_WRAPPER").map_or(false, |wrapper| wrapper.contains("sccache")) {
- eprintln!(
- "\x1b[1;93m=== Warning: Unsetting RUSTC_WRAPPER to prevent interference with sccache ===\x1b[0m"
- );
- env::remove_var("RUSTC_WRAPPER");
- }
-
let sysroot = PathBuf::from(env::current_exe().unwrap().parent().unwrap());
- env::set_var("RUSTC", sysroot.join("bin/cg_clif".to_string() + env::consts::EXE_SUFFIX));
-
- let mut rustdoc_flags = env::var("RUSTDOCFLAGS").unwrap_or(String::new());
- rustdoc_flags.push_str(" -Cpanic=abort -Zpanic-abort-tests -Zcodegen-backend=");
- rustdoc_flags.push_str(
+ let mut rustflags = String::new();
+ rustflags.push_str(" -Cpanic=abort -Zpanic-abort-tests -Zcodegen-backend=");
+ rustflags.push_str(
sysroot
.join(if cfg!(windows) { "bin" } else { "lib" })
.join(
.to_str()
.unwrap(),
);
- rustdoc_flags.push_str(" --sysroot ");
- rustdoc_flags.push_str(sysroot.to_str().unwrap());
- env::set_var("RUSTDOCFLAGS", rustdoc_flags);
+ rustflags.push_str(" --sysroot ");
+ rustflags.push_str(sysroot.to_str().unwrap());
+ env::set_var("RUSTFLAGS", env::var("RUSTFLAGS").unwrap_or(String::new()) + &rustflags);
+ env::set_var("RUSTDOCFLAGS", env::var("RUSTDOCFLAGS").unwrap_or(String::new()) + &rustflags);
// Ensure that the right toolchain is used
env::set_var("RUSTUP_TOOLCHAIN", env!("RUSTUP_TOOLCHAIN"));
.chain(env::args().skip(2))
.chain([
"--".to_string(),
- "-Zunstable-features".to_string(),
+ "-Zunstable-options".to_string(),
"-Cllvm-args=mode=jit".to_string(),
])
.collect()
.chain(env::args().skip(2))
.chain([
"--".to_string(),
- "-Zunstable-features".to_string(),
+ "-Zunstable-options".to_string(),
"-Cllvm-args=mode=jit-lazy".to_string(),
])
.collect()