summaryrefslogtreecommitdiff
path: root/getrandom/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'getrandom/build.rs')
-rw-r--r--getrandom/build.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/getrandom/build.rs b/getrandom/build.rs
new file mode 100644
index 0000000..1beb4ed
--- /dev/null
+++ b/getrandom/build.rs
@@ -0,0 +1,19 @@
+#![deny(warnings)]
+
+use std::env;
+
+fn main() {
+ let target = env::var("TARGET").expect("TARGET was not set");
+ if target.contains("-uwp-windows-") {
+ // for BCryptGenRandom
+ println!("cargo:rustc-link-lib=bcrypt");
+ // to work around unavailability of `target_vendor` on Rust 1.33
+ println!("cargo:rustc-cfg=getrandom_uwp");
+ } else if target.contains("windows") {
+ // for RtlGenRandom (aka SystemFunction036)
+ println!("cargo:rustc-link-lib=advapi32");
+ } else if target.contains("apple-ios") {
+ // for SecRandomCopyBytes and kSecRandomDefault
+ println!("cargo:rustc-link-lib=framework=Security");
+ }
+}