@@ -343,6 +343,15 @@ pub struct Config {
343
343
pub out : PathBuf ,
344
344
pub rust_info : channel:: GitInfo ,
345
345
346
+ pub cargo_info : channel:: GitInfo ,
347
+ pub rust_analyzer_info : channel:: GitInfo ,
348
+ pub clippy_info : channel:: GitInfo ,
349
+ pub miri_info : channel:: GitInfo ,
350
+ pub rustfmt_info : channel:: GitInfo ,
351
+ pub enzyme_info : channel:: GitInfo ,
352
+ pub in_tree_llvm_info : channel:: GitInfo ,
353
+ pub in_tree_gcc_info : channel:: GitInfo ,
354
+
346
355
// These are either the stage0 downloaded binaries or the locally installed ones.
347
356
pub initial_cargo : PathBuf ,
348
357
pub initial_rustc : PathBuf ,
@@ -1796,6 +1805,19 @@ impl Config {
1796
1805
config. omit_git_hash = omit_git_hash. unwrap_or ( default) ;
1797
1806
config. rust_info = GitInfo :: new ( config. omit_git_hash , & config. src ) ;
1798
1807
1808
+ config. cargo_info = GitInfo :: new ( config. omit_git_hash , & config. src . join ( "src/tools/cargo" ) ) ;
1809
+ config. rust_analyzer_info =
1810
+ GitInfo :: new ( config. omit_git_hash , & config. src . join ( "src/tools/rust-analyzer" ) ) ;
1811
+ config. clippy_info =
1812
+ GitInfo :: new ( config. omit_git_hash , & config. src . join ( "src/tools/clippy" ) ) ;
1813
+ config. miri_info = GitInfo :: new ( config. omit_git_hash , & config. src . join ( "src/tools/miri" ) ) ;
1814
+ config. rustfmt_info =
1815
+ GitInfo :: new ( config. omit_git_hash , & config. src . join ( "src/tools/rustfmt" ) ) ;
1816
+ config. enzyme_info =
1817
+ GitInfo :: new ( config. omit_git_hash , & config. src . join ( "src/tools/enzyme" ) ) ;
1818
+ config. in_tree_llvm_info = GitInfo :: new ( false , & config. src . join ( "src/llvm-project" ) ) ;
1819
+ config. in_tree_gcc_info = GitInfo :: new ( false , & config. src . join ( "src/gcc" ) ) ;
1820
+
1799
1821
// We need to override `rust.channel` if it's manually specified when using the CI rustc.
1800
1822
// This is because if the compiler uses a different channel than the one specified in config.toml,
1801
1823
// tests may fail due to using a different channel than the one used by the compiler during tests.
0 commit comments