@@ -342,6 +342,15 @@ pub struct Config {
342
342
pub out : PathBuf ,
343
343
pub rust_info : channel:: GitInfo ,
344
344
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
+
345
354
// These are either the stage0 downloaded binaries or the locally installed ones.
346
355
pub initial_cargo : PathBuf ,
347
356
pub initial_rustc : PathBuf ,
@@ -1797,6 +1806,19 @@ impl Config {
1797
1806
config. omit_git_hash = omit_git_hash. unwrap_or ( default) ;
1798
1807
config. rust_info = GitInfo :: new ( config. omit_git_hash , & config. src ) ;
1799
1808
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
+
1800
1822
// We need to override `rust.channel` if it's manually specified when using the CI rustc.
1801
1823
// This is because if the compiler uses a different channel than the one specified in config.toml,
1802
1824
// tests may fail due to using a different channel than the one used by the compiler during tests.
0 commit comments