From: Dylan MacKenzie Date: Thu, 23 Apr 2020 18:24:28 +0000 (-0700) Subject: Set RUSTDOCFLAGS in `cargo` invocation X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=06582593257ccb0825d14b0740625546eb6bdc3d;p=rust.git Set RUSTDOCFLAGS in `cargo` invocation --- diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index 8d6c2db7926..466e2d6e799 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -791,6 +791,11 @@ pub fn cargo( rustflags.arg("--cfg=bootstrap"); } + // FIXME: It might be better to use the same value for both `RUSTFLAGS` and `RUSTDOCFLAGS`, + // but this breaks CI. At the very least, stage0 `rustdoc` needs `--cfg bootstrap`. See + // #71458. + let rustdocflags = rustflags.clone(); + if let Ok(s) = env::var("CARGOFLAGS") { cargo.args(s.split_whitespace()); } @@ -1269,7 +1274,7 @@ pub fn cargo( } } - Cargo { command: cargo, rustflags } + Cargo { command: cargo, rustflags, rustdocflags } } /// Ensure that a given step is built, returning its output. This will @@ -1327,7 +1332,7 @@ pub fn ensure(&'a self, step: S) -> S::Output { #[cfg(test)] mod tests; -#[derive(Debug)] +#[derive(Debug, Clone)] struct Rustflags(String); impl Rustflags { @@ -1367,6 +1372,7 @@ fn arg(&mut self, arg: &str) -> &mut Self { pub struct Cargo { command: Command, rustflags: Rustflags, + rustdocflags: Rustflags, } impl Cargo { @@ -1400,6 +1406,7 @@ pub fn env(&mut self, key: impl AsRef, value: impl AsRef) -> &mut impl From for Command { fn from(mut cargo: Cargo) -> Command { cargo.command.env("RUSTFLAGS", &cargo.rustflags.0); + cargo.command.env("RUSTDOCFLAGS", &cargo.rustdocflags.0); cargo.command } }