diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs index 815498047fd5d..ccf340fe68ac4 100644 --- a/src/bootstrap/tool.rs +++ b/src/bootstrap/tool.rs @@ -63,7 +63,7 @@ impl Step for ToolBuild { _ => panic!("unexpected Mode for tool build") } - let cargo = prepare_tool_cargo( + let mut cargo = prepare_tool_cargo( builder, compiler, self.mode, @@ -74,6 +74,11 @@ impl Step for ToolBuild { &self.extra_features, ); + // Pass the --bin flags to tell Cargo that is should only build the tool binaries. + // If not, Cargo will build everything by default, including the deprecated clippy plugin + // that causes failure on cross-compiled platforms. + cargo.arg("--bin").arg(&tool); + builder.info(&format!("Building stage{} tool {} ({})", compiler.stage, tool, target)); let mut duplicates = Vec::new(); let is_expected = compile::stream_cargo(builder, cargo, vec![], &mut |msg| {