De-duplicate all consecutive native libs regardless of their options · rust-lang/rust@604caa0 (original) (raw)
File tree
2 files changed
lines changed
- compiler/rustc_codegen_ssa/src/back
- tests/run-make/print-native-static-libs
2 files changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1490,11 +1490,6 @@ fn print_native_static_libs( | ||
1490 | 1490 | let mut lib_args: Vec<_> = all_native_libs |
1491 | 1491 | .iter() |
1492 | 1492 | .filter(|l |
1493 | -// Deduplication of successive repeated libraries, see rust-lang/rust#113209 | |
1494 | -// | |
1495 | -// note: we don't use PartialEq/Eq because NativeLib transitively depends on local | |
1496 | -// elements like spans, which we don't care about and would make the deduplication impossible | |
1497 | -.dedup_by(|l1, l2 | |
1498 | 1493 | .filter_map(|lib |
1499 | 1494 | let name = lib.name; |
1500 | 1495 | match lib.kind { |
@@ -1521,6 +1516,8 @@ fn print_native_static_libs( | ||
1521 | 1516 | | NativeLibKind::RawDylib => None, |
1522 | 1517 | } |
1523 | 1518 | }) |
1519 | +// deduplication of consecutive repeated libraries, see rust-lang/rust#113209 | |
1520 | +.dedup() | |
1524 | 1521 | .collect(); |
1525 | 1522 | for path in all_rust_dylibs { |
1526 | 1523 | // FIXME deduplicate with add_dynamic_crate |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -17,3 +17,9 @@ extern "C" { | ||
17 | 17 | extern "C" { |
18 | 18 | fn g_free2(p: *mut ()); |
19 | 19 | } |
20 | + | |
21 | +#[cfg(windows)] | |
22 | +#[link(name = "glib-2.0", kind = "raw-dylib")] | |
23 | +extern "C" { | |
24 | +fn g_free3(p: *mut ()); | |
25 | +} |