run_cargo(
builder,
cargo,
+ vec![],
&libstd_stamp(builder, compiler, target),
target_deps,
false,
run_cargo(
builder,
cargo,
+ vec![],
&librustc_stamp(builder, compiler, target),
vec![],
false,
"Building stage{} codegen backend {} ({} -> {})",
compiler.stage, backend, &compiler.host, target
));
- let files = run_cargo(builder, cargo, &tmp_stamp, vec![], false, false);
+ let files = run_cargo(builder, cargo, vec![], &tmp_stamp, vec![], false, false);
if builder.config.dry_run() {
return;
}
);
if builder.config.rust_remap_debuginfo {
eprintln!(
- "warning: some `src/test/ui` tests will fail when lacking `{}`",
+ "warning: some `tests/ui` tests will fail when lacking `{}`",
sysroot_lib_rustlib_src_rust.display(),
);
}
pub fn run_cargo(
builder: &Builder<'_>,
cargo: Cargo,
+ tail_args: Vec<String>,
stamp: &Path,
additional_target_deps: Vec<(PathBuf, DependencyType)>,
is_check: bool,
// files we need to probe for later.
let mut deps = Vec::new();
let mut toplevel = Vec::new();
- let ok = stream_cargo(builder, cargo, &mut |msg| {
+ let ok = stream_cargo(builder, cargo, tail_args, &mut |msg| {
let (filenames, crate_types) = match msg {
CargoMessage::CompilerArtifact {
filenames,
pub fn stream_cargo(
builder: &Builder<'_>,
cargo: Cargo,
+ tail_args: Vec<String>,
cb: &mut dyn FnMut(CargoMessage<'_>),
) -> bool {
let mut cargo = Command::from(cargo);
}
cargo.arg("--message-format").arg(message_format).stdout(Stdio::piped());
+ for arg in tail_args {
+ cargo.arg(arg);
+ }
+
builder.verbose(&format!("running: {:?}", cargo));
let mut child = match cargo.spawn() {
Ok(child) => child,