about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark Rousskov <mark.simulacrum@gmail.com>2020-07-19 09:18:32 -0400
committerMark Rousskov <mark.simulacrum@gmail.com>2020-07-19 10:42:06 -0400
commitbe43319b174589f61ce5d8a7b00c0567eb8cff35 (patch)
tree771ec7aa3ee7a48206920bc54d948f60039dcc7a
parent47ea6d90b073ab977cf072e2f5f46d63de532cc6 (diff)
downloadrust-be43319b174589f61ce5d8a7b00c0567eb8cff35.tar.gz
rust-be43319b174589f61ce5d8a7b00c0567eb8cff35.zip
Do not clobber RUSTDOCFLAGS
We were setting these in both Builder::cargo and here, which ended up only
setting the first of the two.
-rw-r--r--src/bootstrap/builder.rs7
-rw-r--r--src/bootstrap/doc.rs10
2 files changed, 11 insertions, 6 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index 70e5f6ac26f..737176c48f8 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
@@ -1444,6 +1444,10 @@ pub struct Cargo {
 }
 
 impl Cargo {
+    pub fn rustdocflag(&mut self, arg: &str) -> &mut Cargo {
+        self.rustdocflags.arg(arg);
+        self
+    }
     pub fn rustflag(&mut self, arg: &str) -> &mut Cargo {
         self.rustflags.arg(arg);
         self
@@ -1466,6 +1470,9 @@ impl Cargo {
     }
 
     pub fn env(&mut self, key: impl AsRef<OsStr>, value: impl AsRef<OsStr>) -> &mut Cargo {
+        // These are managed through rustflag/rustdocflag interfaces.
+        assert_ne!(key.as_ref(), "RUSTFLAGS");
+        assert_ne!(key.as_ref(), "RUSTDOCFLAGS");
         self.command.env(key.as_ref(), value.as_ref());
         self
     }
diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs
index b051390fc26..f8a549afc88 100644
--- a/src/bootstrap/doc.rs
+++ b/src/bootstrap/doc.rs
@@ -527,11 +527,9 @@ impl Step for Rustc {
 
         // Build cargo command.
         let mut cargo = builder.cargo(compiler, Mode::Rustc, SourceType::InTree, target, "doc");
-        cargo.env(
-            "RUSTDOCFLAGS",
-            "--document-private-items \
-            --enable-index-page -Zunstable-options",
-        );
+        cargo.rustdocflag("--document-private-items");
+        cargo.rustdocflag("--enable-index-page");
+        cargo.rustdocflag("-Zunstable-options");
         compile::rustc_cargo(builder, &mut cargo, target);
 
         // Only include compiler crates, no dependencies of those, such as `libc`.
@@ -624,7 +622,7 @@ impl Step for Rustdoc {
         cargo.arg("--no-deps");
         cargo.arg("-p").arg("rustdoc");
 
-        cargo.env("RUSTDOCFLAGS", "--document-private-items");
+        cargo.rustdocflag("--document-private-items");
         builder.run(&mut cargo.into());
     }
 }