]>
Commit | Line | Data |
---|---|---|
a7813a04 XL |
1 | #![deny(warnings)] |
2 | ||
7453a54e | 3 | use std::env; |
7453a54e SL |
4 | |
5 | fn main() { | |
9e0c209e | 6 | let target = env::var("TARGET").expect("TARGET was not set"); |
54a0048b | 7 | if target.contains("linux") { |
a7813a04 | 8 | if target.contains("android") { |
54a0048b SL |
9 | println!("cargo:rustc-link-lib=dl"); |
10 | println!("cargo:rustc-link-lib=log"); | |
11 | println!("cargo:rustc-link-lib=gcc"); | |
3b2f2976 | 12 | } else if !target.contains("musl") { |
7453a54e SL |
13 | println!("cargo:rustc-link-lib=dl"); |
14 | println!("cargo:rustc-link-lib=rt"); | |
15 | println!("cargo:rustc-link-lib=pthread"); | |
7453a54e | 16 | } |
7453a54e SL |
17 | } else if target.contains("freebsd") { |
18 | println!("cargo:rustc-link-lib=execinfo"); | |
19 | println!("cargo:rustc-link-lib=pthread"); | |
a1dfa0c6 XL |
20 | } else if target.contains("netbsd") { |
21 | println!("cargo:rustc-link-lib=pthread"); | |
22 | println!("cargo:rustc-link-lib=rt"); | |
48663c56 | 23 | } else if target.contains("dragonfly") || target.contains("openbsd") { |
7453a54e | 24 | println!("cargo:rustc-link-lib=pthread"); |
041b39d2 XL |
25 | } else if target.contains("solaris") { |
26 | println!("cargo:rustc-link-lib=socket"); | |
27 | println!("cargo:rustc-link-lib=posix4"); | |
28 | println!("cargo:rustc-link-lib=pthread"); | |
3b2f2976 | 29 | println!("cargo:rustc-link-lib=resolv"); |
7453a54e SL |
30 | } else if target.contains("apple-darwin") { |
31 | println!("cargo:rustc-link-lib=System"); | |
7cac9316 XL |
32 | |
33 | // res_init and friends require -lresolv on macOS/iOS. | |
34 | // See #41582 and http://blog.achernya.com/2013/03/os-x-has-silly-libsystem.html | |
35 | println!("cargo:rustc-link-lib=resolv"); | |
7453a54e SL |
36 | } else if target.contains("apple-ios") { |
37 | println!("cargo:rustc-link-lib=System"); | |
38 | println!("cargo:rustc-link-lib=objc"); | |
39 | println!("cargo:rustc-link-lib=framework=Security"); | |
40 | println!("cargo:rustc-link-lib=framework=Foundation"); | |
7cac9316 | 41 | println!("cargo:rustc-link-lib=resolv"); |
7453a54e | 42 | } else if target.contains("windows") { |
7453a54e SL |
43 | println!("cargo:rustc-link-lib=advapi32"); |
44 | println!("cargo:rustc-link-lib=ws2_32"); | |
45 | println!("cargo:rustc-link-lib=userenv"); | |
c30ab7b3 | 46 | } else if target.contains("fuchsia") { |
ea8adc8c XL |
47 | println!("cargo:rustc-link-lib=zircon"); |
48 | println!("cargo:rustc-link-lib=fdio"); | |
ff7c6d11 XL |
49 | } else if target.contains("cloudabi") { |
50 | if cfg!(feature = "backtrace") { | |
51 | println!("cargo:rustc-link-lib=unwind"); | |
52 | } | |
53 | println!("cargo:rustc-link-lib=c"); | |
54 | println!("cargo:rustc-link-lib=compiler_rt"); | |
7453a54e SL |
55 | } |
56 | } |