Don't ignore git for LLVM info
This commit is contained in:
parent
105692c3ad
commit
49b65e683d
3 changed files with 22 additions and 19 deletions
|
@ -11,7 +11,6 @@ use std::process::Command;
|
|||
use build_helper::output;
|
||||
|
||||
use crate::Build;
|
||||
use crate::config::Config;
|
||||
|
||||
// The version number
|
||||
pub const CFG_RELEASE_NUM: &str = "1.35.0";
|
||||
|
@ -27,20 +26,20 @@ struct Info {
|
|||
}
|
||||
|
||||
impl GitInfo {
|
||||
pub fn new(config: &Config, dir: &Path) -> GitInfo {
|
||||
pub fn new(ignore_git: bool, dir: &Path) -> GitInfo {
|
||||
// See if this even begins to look like a git dir
|
||||
if config.ignore_git || !dir.join(".git").exists() {
|
||||
if ignore_git || !dir.join(".git").exists() {
|
||||
return GitInfo { inner: None }
|
||||
}
|
||||
|
||||
// Make sure git commands work
|
||||
let out = Command::new("git")
|
||||
match Command::new("git")
|
||||
.arg("rev-parse")
|
||||
.current_dir(dir)
|
||||
.output()
|
||||
.expect("failed to spawn git");
|
||||
if !out.status.success() {
|
||||
return GitInfo { inner: None }
|
||||
{
|
||||
Ok(ref out) if out.status.success() => {}
|
||||
_ => return GitInfo { inner: None },
|
||||
}
|
||||
|
||||
// Ok, let's scrape some info
|
||||
|
|
|
@ -360,14 +360,18 @@ impl Build {
|
|||
}
|
||||
None => false,
|
||||
};
|
||||
let rust_info = channel::GitInfo::new(&config, &src);
|
||||
let cargo_info = channel::GitInfo::new(&config, &src.join("src/tools/cargo"));
|
||||
let rls_info = channel::GitInfo::new(&config, &src.join("src/tools/rls"));
|
||||
let clippy_info = channel::GitInfo::new(&config, &src.join("src/tools/clippy"));
|
||||
let miri_info = channel::GitInfo::new(&config, &src.join("src/tools/miri"));
|
||||
let rustfmt_info = channel::GitInfo::new(&config, &src.join("src/tools/rustfmt"));
|
||||
let in_tree_llvm_info = channel::GitInfo::new(&config, &src.join("src/llvm-project"));
|
||||
let emscripten_llvm_info = channel::GitInfo::new(&config, &src.join("src/llvm-emscripten"));
|
||||
|
||||
let ignore_git = config.ignore_git;
|
||||
let rust_info = channel::GitInfo::new(ignore_git, &src);
|
||||
let cargo_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/cargo"));
|
||||
let rls_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/rls"));
|
||||
let clippy_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/clippy"));
|
||||
let miri_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/miri"));
|
||||
let rustfmt_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/rustfmt"));
|
||||
|
||||
// we always try to use git for LLVM builds
|
||||
let in_tree_llvm_info = channel::GitInfo::new(false, &src.join("src/llvm-project"));
|
||||
let emscripten_llvm_info = channel::GitInfo::new(false, &src.join("src/llvm-emscripten"));
|
||||
|
||||
let mut build = Build {
|
||||
initial_rustc: config.initial_rustc.clone(),
|
||||
|
|
|
@ -235,7 +235,7 @@ pub fn prepare_tool_cargo(
|
|||
cargo.env("CFG_VERSION", builder.rust_version());
|
||||
cargo.env("CFG_RELEASE_NUM", channel::CFG_RELEASE_NUM);
|
||||
|
||||
let info = GitInfo::new(&builder.config, &dir);
|
||||
let info = GitInfo::new(builder.config.ignore_git, &dir);
|
||||
if let Some(sha) = info.sha() {
|
||||
cargo.env("CFG_COMMIT_HASH", sha);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue