about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/bootstrap/src/core/build_steps/doc.rs9
m---------src/doc/edition-guide0
m---------src/doc/embedded-book0
m---------src/doc/reference0
m---------src/doc/rustc-dev-guide0
-rw-r--r--src/tools/rustbook/Cargo.lock3
-rw-r--r--src/tools/rustbook/src/main.rs9
7 files changed, 18 insertions, 3 deletions
diff --git a/src/bootstrap/src/core/build_steps/doc.rs b/src/bootstrap/src/core/build_steps/doc.rs
index ca2b8742647..69ec832a44a 100644
--- a/src/bootstrap/src/core/build_steps/doc.rs
+++ b/src/bootstrap/src/core/build_steps/doc.rs
@@ -170,7 +170,14 @@ impl<P: Step> Step for RustbookSrc<P> {
                 builder.add_rustc_lib_path(compiler, &mut rustbook_cmd);
             }
 
-            rustbook_cmd.arg("build").arg(&src).arg("-d").arg(&out).run(builder);
+            rustbook_cmd
+                .arg("build")
+                .arg(&src)
+                .arg("-d")
+                .arg(&out)
+                .arg("--rust-root")
+                .arg(&builder.src)
+                .run(builder);
 
             for lang in &self.languages {
                 let out = out.join(lang);
diff --git a/src/doc/edition-guide b/src/doc/edition-guide
-Subproject c7ebae25cb4801a31b6f05353f6d85bfa6feedd
+Subproject 1f07c242f8162a711a5ac5a4ea8fa7ec884ee7a
diff --git a/src/doc/embedded-book b/src/doc/embedded-book
-Subproject f40a8b420ec4b4505d9489965e261f1d5c28ba2
+Subproject ddbf1b4e2858fedb71b7c42eb15c4576517dc12
diff --git a/src/doc/reference b/src/doc/reference
-Subproject c64e52a3d306eac0129f3ad6c6d8806ab99ae2e
+Subproject 23ce619966541bf2c80d45fdfeecf3393e360a1
diff --git a/src/doc/rustc-dev-guide b/src/doc/rustc-dev-guide
-Subproject 07bc9ca9eb1cd6d9fbbf758c2753b748804a134
+Subproject 59d94ea75a0b157e148af14c73c2dd60efb7b60
diff --git a/src/tools/rustbook/Cargo.lock b/src/tools/rustbook/Cargo.lock
index 060deb18344..27ccb205b50 100644
--- a/src/tools/rustbook/Cargo.lock
+++ b/src/tools/rustbook/Cargo.lock
@@ -1,6 +1,6 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
-version = 3
+version = 4
 
 [[package]]
 name = "adler2"
@@ -704,6 +704,7 @@ dependencies = [
  "semver",
  "serde_json",
  "tempfile",
+ "walkdir",
 ]
 
 [[package]]
diff --git a/src/tools/rustbook/src/main.rs b/src/tools/rustbook/src/main.rs
index 2118af61396..f905b9277ff 100644
--- a/src/tools/rustbook/src/main.rs
+++ b/src/tools/rustbook/src/main.rs
@@ -22,6 +22,11 @@ fn main() {
     .required(false)
     .value_parser(clap::value_parser!(String));
 
+    let root_arg = arg!(--"rust-root" <ROOT_DIR>
+"Path to the root of the rust source tree")
+    .required(false)
+    .value_parser(clap::value_parser!(PathBuf));
+
     let dir_arg = arg!([dir] "Root directory for the book\n\
                               (Defaults to the current directory when omitted)")
     .value_parser(clap::value_parser!(PathBuf));
@@ -37,6 +42,7 @@ fn main() {
                 .about("Build the book from the markdown files")
                 .arg(d_arg)
                 .arg(l_arg)
+                .arg(root_arg)
                 .arg(&dir_arg),
         )
         .subcommand(
@@ -96,7 +102,8 @@ pub fn build(args: &ArgMatches) -> Result3<()> {
     }
 
     if book.config.get_preprocessor("spec").is_some() {
-        book.with_preprocessor(Spec::new());
+        let rust_root = args.get_one::<PathBuf>("rust-root").cloned();
+        book.with_preprocessor(Spec::new(rust_root)?);
     }
 
     book.build()?;