blob: e5df93b181a0994498bce48bf73098bb50774e53 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
// Check that linking to a framework actually makes it to the linker.
//@ only-apple
use run_make_support::{cmd, rustc};
fn main() {
rustc().input("dep-link-framework.rs").run();
rustc().input("dep-link-weak-framework.rs").run();
rustc().input("empty.rs").run();
cmd("otool").arg("-L").arg("no-link").run_fail().assert_stdout_not_contains("CoreFoundation");
rustc().input("link-framework.rs").run();
cmd("otool")
.arg("-L")
.arg("link-framework")
.run()
.assert_stdout_contains("CoreFoundation")
.assert_stdout_not_contains("weak");
rustc().input("link-weak-framework.rs").run();
cmd("otool")
.arg("-L")
.arg("link-weak-framework")
.run()
.assert_stdout_contains("CoreFoundation")
.assert_stdout_contains("weak");
// When linking the framework both normally, and weakly, the weak linking takes preference.
rustc().input("link-both.rs").run();
cmd("otool")
.arg("-L")
.arg("link-both")
.run()
.assert_stdout_contains("CoreFoundation")
.assert_stdout_contains("weak");
}
|