diff options
| author | onur-ozkan <work@onurozkan.dev> | 2025-05-29 15:39:54 +0300 |
|---|---|---|
| committer | onur-ozkan <work@onurozkan.dev> | 2025-05-29 15:40:07 +0300 |
| commit | 0565d43060298260e84c2aaa1f12bf8bf6198703 (patch) | |
| tree | d897626fd67e46b47ccc89bcc152ced2ddbae082 | |
| parent | 38081f22c2d7380f272aa1d7fa9b935637701c2d (diff) | |
| download | rust-0565d43060298260e84c2aaa1f12bf8bf6198703.tar.gz rust-0565d43060298260e84c2aaa1f12bf8bf6198703.zip | |
resolve stage0 sysroot from rustc
Instead of manually navigating directories based on stage0 rustc, use `--print sysroot` to get the sysroot directly. This also works when using the bootstrap `rustc` shim. Signed-off-by: onur-ozkan <work@onurozkan.dev>
| -rw-r--r-- | src/bootstrap/src/core/config/config.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs index 3b8c3655b8d..d4b5a809215 100644 --- a/src/bootstrap/src/core/config/config.rs +++ b/src/bootstrap/src/core/config/config.rs @@ -1832,7 +1832,9 @@ impl Config { .join(exe("rustc", config.build)) }; - config.initial_sysroot = config.initial_rustc.ancestors().nth(2).unwrap().into(); + config.initial_sysroot = t!(PathBuf::from_str( + output(Command::new(&config.initial_rustc).args(["--print", "sysroot"])).trim() + )); config.initial_cargo_clippy = cargo_clippy; |
