Rollup merge of #56441 - ollie27:rustbuild_compiler_docs, r=alexcrichton
rustbuild: Fix issues with compiler docs * Create output directories for crates beforehand so rustdoc uses relative links (fixes #56107) * Readd rustc_codegen_ssa (fixes #56196) * Don't build out of tree dependencies for rustdoc like we don't for rustc
This commit is contained in:
commit
0be8537e23
|
@ -697,9 +697,6 @@ impl Step for Rustc {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build libstd docs so that we generate relative links.
|
|
||||||
builder.ensure(Std { stage, target });
|
|
||||||
|
|
||||||
// Build rustc.
|
// Build rustc.
|
||||||
builder.ensure(compile::Rustc { compiler, target });
|
builder.ensure(compile::Rustc { compiler, target });
|
||||||
|
|
||||||
|
@ -718,12 +715,16 @@ impl Step for Rustc {
|
||||||
|
|
||||||
// Find dependencies for top level crates.
|
// Find dependencies for top level crates.
|
||||||
let mut compiler_crates = HashSet::new();
|
let mut compiler_crates = HashSet::new();
|
||||||
for root_crate in &["rustc", "rustc_driver", "rustc_codegen_llvm"] {
|
for root_crate in &["rustc_driver", "rustc_codegen_llvm", "rustc_codegen_ssa"] {
|
||||||
let interned_root_crate = INTERNER.intern_str(root_crate);
|
let interned_root_crate = INTERNER.intern_str(root_crate);
|
||||||
find_compiler_crates(builder, &interned_root_crate, &mut compiler_crates);
|
find_compiler_crates(builder, &interned_root_crate, &mut compiler_crates);
|
||||||
}
|
}
|
||||||
|
|
||||||
for krate in &compiler_crates {
|
for krate in &compiler_crates {
|
||||||
|
// Create all crate output directories first to make sure rustdoc uses
|
||||||
|
// relative links.
|
||||||
|
// FIXME: Cargo should probably do this itself.
|
||||||
|
t!(fs::create_dir_all(out_dir.join(krate)));
|
||||||
cargo.arg("-p").arg(krate);
|
cargo.arg("-p").arg(krate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -797,8 +798,8 @@ impl Step for Rustdoc {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build libstd docs so that we generate relative links.
|
// Build rustc docs so that we generate relative links.
|
||||||
builder.ensure(Std { stage, target });
|
builder.ensure(Rustc { stage, target });
|
||||||
|
|
||||||
// Build rustdoc.
|
// Build rustdoc.
|
||||||
builder.ensure(tool::Rustdoc { host: compiler.host });
|
builder.ensure(tool::Rustdoc { host: compiler.host });
|
||||||
|
@ -822,6 +823,10 @@ impl Step for Rustdoc {
|
||||||
&[]
|
&[]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Only include compiler crates, no dependencies of those, such as `libc`.
|
||||||
|
cargo.arg("--no-deps");
|
||||||
|
cargo.arg("-p").arg("rustdoc");
|
||||||
|
|
||||||
cargo.env("RUSTDOCFLAGS", "--document-private-items");
|
cargo.env("RUSTDOCFLAGS", "--document-private-items");
|
||||||
builder.run(&mut cargo);
|
builder.run(&mut cargo);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue