diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2020-07-19 09:18:32 -0400 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2020-07-19 10:42:06 -0400 |
| commit | be43319b174589f61ce5d8a7b00c0567eb8cff35 (patch) | |
| tree | 771ec7aa3ee7a48206920bc54d948f60039dcc7a | |
| parent | 47ea6d90b073ab977cf072e2f5f46d63de532cc6 (diff) | |
| download | rust-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.rs | 7 | ||||
| -rw-r--r-- | src/bootstrap/doc.rs | 10 |
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()); } } |
