41 lines
1.4 KiB
Rust
41 lines
1.4 KiB
Rust
//! Checks if selected rustc crates can be compiled on the stable channel (or a "simulation" of it).
|
|
//! These crates are designed to be used by downstream users.
|
|
|
|
use run_make_support::{cargo, rustc_path, source_root};
|
|
|
|
fn main() {
|
|
// Use the stage0 beta cargo for the compilation (it shouldn't really matter which cargo we use)
|
|
cargo()
|
|
// Ensure `proc-macro2`'s nightly detection is disabled
|
|
.env("RUSTC_STAGE", "0")
|
|
.env("RUSTC", rustc_path())
|
|
// We want to disallow all nightly features to simulate a stable build
|
|
.env("RUSTFLAGS", "-Zallow-features=")
|
|
.arg("build")
|
|
.arg("--manifest-path")
|
|
.arg(source_root().join("Cargo.toml"))
|
|
.args(&[
|
|
// Avoid depending on transitive rustc crates
|
|
"--no-default-features",
|
|
// Emit artifacts in this temporary directory, not in the source_root's `target` folder
|
|
"--target-dir",
|
|
"target",
|
|
])
|
|
// Check that these crates can be compiled on "stable"
|
|
.args(&[
|
|
"-p",
|
|
"rustc_type_ir",
|
|
"-p",
|
|
"rustc_next_trait_solver",
|
|
"-p",
|
|
"rustc_pattern_analysis",
|
|
"-p",
|
|
"rustc_lexer",
|
|
"-p",
|
|
"rustc_abi",
|
|
"-p",
|
|
"rustc_parse_format",
|
|
])
|
|
.run();
|
|
}
|