Skip to content

Commit 3d68774

Browse files
Mark-Simulacrumalexcrichton
authored andcommitted
Notice non-toplevel dll dependencies in rustbuild
Previously Cargo would hardlink all the dependencies into the "root" as foo.dll and the `toplevel` array would get populated with these, but that's no longer the case. Instead, cargo will only do this for the final artifacts/final libraries. Rustbuild is updated to continue looping through the artifacts mentioned instead of early-returning. This should fix the bug. @alexcrichton found the cause of this and suggested this fix.
1 parent ad97f8b commit 3d68774

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/bootstrap/compile.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1049,22 +1049,22 @@ pub fn run_cargo(builder: &Builder, cargo: &mut Command, stamp: &Path, is_check:
10491049
!filename.ends_with(".lib") &&
10501050
!is_dylib(&filename) &&
10511051
!(is_check && filename.ends_with(".rmeta")) {
1052-
return;
1052+
continue;
10531053
}
10541054

10551055
let filename = Path::new(&*filename);
10561056

10571057
// If this was an output file in the "host dir" we don't actually
10581058
// worry about it, it's not relevant for us.
10591059
if filename.starts_with(&host_root_dir) {
1060-
return;
1060+
continue;
10611061
}
10621062

10631063
// If this was output in the `deps` dir then this is a precise file
10641064
// name (hash included) so we start tracking it.
10651065
if filename.starts_with(&target_deps_dir) {
10661066
deps.push(filename.to_path_buf());
1067-
return;
1067+
continue;
10681068
}
10691069

10701070
// Otherwise this was a "top level artifact" which right now doesn't

0 commit comments

Comments
 (0)