diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs index aafbf68d1b7b6..682a6f74126a8 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs @@ -78,6 +78,7 @@ pub struct Config { pub channel: String, pub musl_root: Option, pub prefix: Option, + pub codegen_tests: bool, } /// Per-target configuration stored in the global configuration structure. @@ -169,6 +170,7 @@ impl Config { config.rust_codegen_units = 1; config.build = build.to_string(); config.channel = "dev".to_string(); + config.codegen_tests = true; let toml = file.map(|file| { let mut f = t!(File::open(&file)); @@ -322,6 +324,7 @@ impl Config { ("DEBUGINFO_TESTS", self.rust_debuginfo_tests), ("LOCAL_REBUILD", self.local_rebuild), ("NINJA", self.ninja), + ("CODEGEN_TESTS", self.codegen_tests), } match key { diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index 9eacb5e3924fa..9f0efa8289d48 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -390,8 +390,10 @@ impl Build { "mir-opt", "mir-opt"); } CheckCodegen { compiler } => { - check::compiletest(self, &compiler, target.target, - "codegen", "codegen"); + if self.config.codegen_tests { + check::compiletest(self, &compiler, target.target, + "codegen", "codegen"); + } } CheckCodegenUnits { compiler } => { check::compiletest(self, &compiler, target.target, diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs index d6ac3ef6c9c50..c0d303c0ea9ae 100644 --- a/src/bootstrap/sanity.rs +++ b/src/bootstrap/sanity.rs @@ -89,7 +89,7 @@ pub fn check(build: &mut Build) { // Externally configured LLVM requires FileCheck to exist let filecheck = build.llvm_filecheck(&build.config.build); - if !filecheck.starts_with(&build.out) && !filecheck.exists() { + if !filecheck.starts_with(&build.out) && !filecheck.exists() && build.config.codegen_tests { panic!("filecheck executable {:?} does not exist", filecheck); }