diff options
Diffstat (limited to 'src/bootstrap/doc.rs')
| -rw-r--r-- | src/bootstrap/doc.rs | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs index 17ccb04a714..7623ca1e27e 100644 --- a/src/bootstrap/doc.rs +++ b/src/bootstrap/doc.rs @@ -405,14 +405,15 @@ impl Step for Standalone { cmd.arg("--html-after-content").arg(&footer) .arg("--html-before-content").arg(&version_info) .arg("--html-in-header").arg(&favicon) + .arg("--markdown-no-toc") + .arg("--index-page").arg(&builder.src.join("src/doc/index.md")) .arg("--markdown-playground-url") .arg("https://play.rust-lang.org/") .arg("-o").arg(&out) .arg(&path); if filename == "not_found.md" { - cmd.arg("--markdown-no-toc") - .arg("--markdown-css") + cmd.arg("--markdown-css") .arg("https://doc.rust-lang.org/rust.css"); } else { cmd.arg("--markdown-css").arg("rust.css"); @@ -480,23 +481,31 @@ impl Step for Std { // will also directly handle merging. let my_out = builder.crate_doc_out(target); t!(symlink_dir_force(&builder.config, &my_out, &out_dir)); + t!(fs::copy(builder.src.join("src/doc/rust.css"), out.join("rust.css"))); - let mut cargo = builder.cargo(compiler, Mode::Std, target, "doc"); - compile::std_cargo(builder, &compiler, target, &mut cargo); + let run_cargo_rustdoc_for = |package: &str| { + let mut cargo = builder.cargo(compiler, Mode::Std, target, "rustdoc"); + compile::std_cargo(builder, &compiler, target, &mut cargo); - // Keep a whitelist so we do not build internal stdlib crates, these will be - // build by the rustc step later if enabled. - cargo.arg("--no-deps"); - for krate in &["alloc", "core", "std"] { - cargo.arg("-p").arg(krate); + // Keep a whitelist so we do not build internal stdlib crates, these will be + // build by the rustc step later if enabled. + cargo.arg("-Z").arg("unstable-options") + .arg("-p").arg(package); // 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))); + t!(fs::create_dir_all(out_dir.join(package))); + cargo.arg("--") + .arg("--markdown-css").arg("rust.css") + .arg("--markdown-no-toc") + .arg("--index-page").arg(&builder.src.join("src/doc/index.md")); + + builder.run(&mut cargo); + builder.cp_r(&my_out, &out); + }; + for krate in &["alloc", "core", "std"] { + run_cargo_rustdoc_for(krate); } - - builder.run(&mut cargo); - builder.cp_r(&my_out, &out); } } @@ -805,6 +814,7 @@ impl Step for Rustdoc { "doc", "src/tools/rustdoc", SourceType::InTree, + &[] ); cargo.env("RUSTDOCFLAGS", "--document-private-items"); |
