Skip to content

Commit 90745bd

Browse files
committed
Feed GitInfos from Config to Build
Signed-off-by: onur-ozkan <work@onurozkan.dev>
1 parent 4f1be92 commit 90745bd

2 files changed

Lines changed: 31 additions & 10 deletions

File tree

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

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,15 @@ pub struct Config {
342342
pubout:PathBuf,
343343
pubrust_info: channel::GitInfo,
344344

345+
pubcargo_info: channel::GitInfo,
346+
pubrust_analyzer_info: channel::GitInfo,
347+
pubclippy_info: channel::GitInfo,
348+
pubmiri_info: channel::GitInfo,
349+
pubrustfmt_info: channel::GitInfo,
350+
pubenzyme_info: channel::GitInfo,
351+
pubin_tree_llvm_info: channel::GitInfo,
352+
pubin_tree_gcc_info: channel::GitInfo,
353+
345354
// These are either the stage0 downloaded binaries or the locally installed ones.
346355
pubinitial_cargo:PathBuf,
347356
pubinitial_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‎

Lines changed: 9 additions & 10 deletions
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)