Merge commit '8830dccd1d
' into sync_cg_clif-2023-06-15
This commit is contained in:
commit
82b497286d
56 changed files with 2511 additions and 592 deletions
|
@ -5,7 +5,6 @@ use std::path::{Path, PathBuf};
|
|||
use std::process::{self, Command, Stdio};
|
||||
|
||||
use super::path::{Dirs, RelPath};
|
||||
use super::rustc_info::{get_cargo_path, get_rustc_path, get_rustdoc_path};
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub(crate) struct Compiler {
|
||||
|
@ -19,18 +18,6 @@ pub(crate) struct Compiler {
|
|||
}
|
||||
|
||||
impl Compiler {
|
||||
pub(crate) fn bootstrap_with_triple(triple: String) -> Compiler {
|
||||
Compiler {
|
||||
cargo: get_cargo_path(),
|
||||
rustc: get_rustc_path(),
|
||||
rustdoc: get_rustdoc_path(),
|
||||
rustflags: String::new(),
|
||||
rustdocflags: String::new(),
|
||||
triple,
|
||||
runner: vec![],
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn set_cross_linker_and_runner(&mut self) {
|
||||
match self.triple.as_str() {
|
||||
"aarch64-unknown-linux-gnu" => {
|
||||
|
@ -95,7 +82,11 @@ impl CargoProject {
|
|||
.arg(self.manifest_path(dirs))
|
||||
.arg("--target-dir")
|
||||
.arg(self.target_dir(dirs))
|
||||
.arg("--frozen");
|
||||
.arg("--locked");
|
||||
|
||||
if dirs.frozen {
|
||||
cmd.arg("--frozen");
|
||||
}
|
||||
|
||||
cmd
|
||||
}
|
||||
|
@ -120,23 +111,6 @@ impl CargoProject {
|
|||
cmd
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub(crate) fn fetch(
|
||||
&self,
|
||||
cargo: impl AsRef<Path>,
|
||||
rustc: impl AsRef<Path>,
|
||||
dirs: &Dirs,
|
||||
) -> Command {
|
||||
let mut cmd = Command::new(cargo.as_ref());
|
||||
|
||||
cmd.env("RUSTC", rustc.as_ref())
|
||||
.arg("fetch")
|
||||
.arg("--manifest-path")
|
||||
.arg(self.manifest_path(dirs));
|
||||
|
||||
cmd
|
||||
}
|
||||
|
||||
pub(crate) fn clean(&self, dirs: &Dirs) {
|
||||
let _ = fs::remove_dir_all(self.target_dir(dirs));
|
||||
}
|
||||
|
@ -162,8 +136,7 @@ pub(crate) fn hyperfine_command(
|
|||
warmup: u64,
|
||||
runs: u64,
|
||||
prepare: Option<&str>,
|
||||
a: &str,
|
||||
b: &str,
|
||||
cmds: &[&str],
|
||||
) -> Command {
|
||||
let mut bench = Command::new("hyperfine");
|
||||
|
||||
|
@ -179,7 +152,7 @@ pub(crate) fn hyperfine_command(
|
|||
bench.arg("--prepare").arg(prepare);
|
||||
}
|
||||
|
||||
bench.arg(a).arg(b);
|
||||
bench.args(cmds);
|
||||
|
||||
bench
|
||||
}
|
||||
|
@ -285,3 +258,13 @@ pub(crate) fn is_ci() -> bool {
|
|||
pub(crate) fn is_ci_opt() -> bool {
|
||||
env::var("CI_OPT").is_ok()
|
||||
}
|
||||
|
||||
pub(crate) fn maybe_incremental(cmd: &mut Command) {
|
||||
if is_ci() || std::env::var("CARGO_BUILD_INCREMENTAL").map_or(false, |val| val == "false") {
|
||||
// Disabling incr comp reduces cache size and incr comp doesn't save as much on CI anyway
|
||||
cmd.env("CARGO_BUILD_INCREMENTAL", "false");
|
||||
} else {
|
||||
// Force incr comp even in release mode unless in CI or incremental builds are explicitly disabled
|
||||
cmd.env("CARGO_BUILD_INCREMENTAL", "true");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue