mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 01:04:03 +00:00
Rollup merge of #95449 - jyn514:doc-stage-0, r=ehuss
Fix `x doc --stage 0 compiler` Eric figured out the fix to this almost 2 years ago, I just didn't read his comment carefully enough at the timme. The issue was that fake rustc and fake rustdoc were inconsistent about when they passed `--sysroot` to the real compiler. Change them to consistently only pass it when `--target` is present. cc https://github.com/rust-lang/rust/issues/74976#issuecomment-667265945 Fixes https://github.com/rust-lang/rust/issues/79980 r? ``@ehuss``
This commit is contained in:
commit
73eab35109
@ -15,6 +15,10 @@ fn main() {
|
||||
let libdir = env::var_os("RUSTDOC_LIBDIR").expect("RUSTDOC_LIBDIR was not set");
|
||||
let sysroot = env::var_os("RUSTC_SYSROOT").expect("RUSTC_SYSROOT was not set");
|
||||
|
||||
// Detect whether or not we're a build script depending on whether --target
|
||||
// is passed (a bit janky...)
|
||||
let target = args.windows(2).find(|w| &*w[0] == "--target").and_then(|w| w[1].to_str());
|
||||
|
||||
use std::str::FromStr;
|
||||
|
||||
let verbose = match env::var("RUSTC_VERBOSE") {
|
||||
@ -26,10 +30,18 @@ fn main() {
|
||||
dylib_path.insert(0, PathBuf::from(libdir.clone()));
|
||||
|
||||
let mut cmd = Command::new(rustdoc);
|
||||
cmd.args(&args)
|
||||
.arg("--sysroot")
|
||||
.arg(&sysroot)
|
||||
.env(dylib_path_var(), env::join_paths(&dylib_path).unwrap());
|
||||
|
||||
if target.is_some() {
|
||||
// The stage0 compiler has a special sysroot distinct from what we
|
||||
// actually downloaded, so we just always pass the `--sysroot` option,
|
||||
// unless one is already set.
|
||||
if !args.iter().any(|arg| arg == "--sysroot") {
|
||||
cmd.arg("--sysroot").arg(&sysroot);
|
||||
}
|
||||
}
|
||||
|
||||
cmd.args(&args);
|
||||
cmd.env(dylib_path_var(), env::join_paths(&dylib_path).unwrap());
|
||||
|
||||
// Force all crates compiled by this compiler to (a) be unstable and (b)
|
||||
// allow the `rustc_private` feature to link to other unstable crates
|
||||
|
Loading…
Reference in New Issue
Block a user