Skip to content

Commit 90745bd

Browse files
committed
Feed GitInfos from Config to Build
Signed-off-by: onur-ozkan <[email protected]>
1 parent 4f1be92 commit 90745bd

File tree

2 files changed

+31
-10
lines changed

2 files changed

+31
-10
lines changed

src/bootstrap/src/core/config/config.rs

+22
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,15 @@ pub struct Config {
342342
pub out: PathBuf,
343343
pub rust_info: channel::GitInfo,
344344

345+
pub cargo_info: channel::GitInfo,
346+
pub rust_analyzer_info: channel::GitInfo,
347+
pub clippy_info: channel::GitInfo,
348+
pub miri_info: channel::GitInfo,
349+
pub rustfmt_info: channel::GitInfo,
350+
pub enzyme_info: channel::GitInfo,
351+
pub in_tree_llvm_info: channel::GitInfo,
352+
pub in_tree_gcc_info: channel::GitInfo,
353+
345354
// These are either the stage0 downloaded binaries or the locally installed ones.
346355
pub initial_cargo: PathBuf,
347356
pub initial_rustc: PathBuf,
@@ -1797,6 +1806,19 @@ impl Config {
17971806
config.omit_git_hash = omit_git_hash.unwrap_or(default);
17981807
config.rust_info = GitInfo::new(config.omit_git_hash, &config.src);
17991808

1809+
config.cargo_info = GitInfo::new(config.omit_git_hash, &config.src.join("src/tools/cargo"));
1810+
config.rust_analyzer_info =
1811+
GitInfo::new(config.omit_git_hash, &config.src.join("src/tools/rust-analyzer"));
1812+
config.clippy_info =
1813+
GitInfo::new(config.omit_git_hash, &config.src.join("src/tools/clippy"));
1814+
config.miri_info = GitInfo::new(config.omit_git_hash, &config.src.join("src/tools/miri"));
1815+
config.rustfmt_info =
1816+
GitInfo::new(config.omit_git_hash, &config.src.join("src/tools/rustfmt"));
1817+
config.enzyme_info =
1818+
GitInfo::new(config.omit_git_hash, &config.src.join("src/tools/enzyme"));
1819+
config.in_tree_llvm_info = GitInfo::new(false, &config.src.join("src/llvm-project"));
1820+
config.in_tree_gcc_info = GitInfo::new(false, &config.src.join("src/gcc"));
1821+
18001822
// We need to override `rust.channel` if it's manually specified when using the CI rustc.
18011823
// This is because if the compiler uses a different channel than the one specified in config.toml,
18021824
// tests may fail due to using a different channel than the one used by the compiler during tests.

src/bootstrap/src/lib.rs

+9-10
Original file line numberDiff line numberDiff line change
@@ -305,18 +305,17 @@ impl Build {
305305
#[cfg(not(unix))]
306306
let is_sudo = false;
307307

308-
let omit_git_hash = config.omit_git_hash;
309-
let rust_info = GitInfo::new(omit_git_hash, &src);
310-
let cargo_info = GitInfo::new(omit_git_hash, &src.join("src/tools/cargo"));
311-
let rust_analyzer_info = GitInfo::new(omit_git_hash, &src.join("src/tools/rust-analyzer"));
312-
let clippy_info = GitInfo::new(omit_git_hash, &src.join("src/tools/clippy"));
313-
let miri_info = GitInfo::new(omit_git_hash, &src.join("src/tools/miri"));
314-
let rustfmt_info = GitInfo::new(omit_git_hash, &src.join("src/tools/rustfmt"));
315-
let enzyme_info = GitInfo::new(omit_git_hash, &src.join("src/tools/enzyme"));
308+
let rust_info = config.rust_info.clone();
309+
let cargo_info = config.cargo_info.clone();
310+
let rust_analyzer_info = config.rust_analyzer_info.clone();
311+
let clippy_info = config.clippy_info.clone();
312+
let miri_info = config.miri_info.clone();
313+
let rustfmt_info = config.rustfmt_info.clone();
314+
let enzyme_info = config.enzyme_info.clone();
316315

317316
// we always try to use git for LLVM builds
318-
let in_tree_llvm_info = GitInfo::new(false, &src.join("src/llvm-project"));
319-
let in_tree_gcc_info = GitInfo::new(false, &src.join("src/gcc"));
317+
let in_tree_llvm_info = config.in_tree_llvm_info.clone();
318+
let in_tree_gcc_info = config.in_tree_gcc_info.clone();
320319

321320
let initial_target_libdir_str = if config.dry_run() {
322321
"/dummy/lib/path/to/lib/".to_string()

0 commit comments

Comments
 (0)