aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src
diff options
context:
space:
mode:
authorGlenn Watson <[email protected]>2014-12-12 08:05:42 +1000
committerGlenn Watson <[email protected]>2014-12-12 08:05:42 +1000
commit4d49abd102942c6374c83767949ef812a7806ea7 (patch)
treeeb0e1876fc5db630edb8119c3acdfc30273ec443 /openssl-sys/src
parentClean up Copy impls a bit (diff)
downloadrust-openssl-4d49abd102942c6374c83767949ef812a7806ea7.tar.xz
rust-openssl-4d49abd102942c6374c83767949ef812a7806ea7.zip
Use static linking on android, which simplifies deployment since loading application specific shared libraries on android requires Java code or other hacks.
Diffstat (limited to 'openssl-sys/src')
-rw-r--r--openssl-sys/src/build.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/openssl-sys/src/build.rs b/openssl-sys/src/build.rs
index 53c047b2..ca71f791 100644
--- a/openssl-sys/src/build.rs
+++ b/openssl-sys/src/build.rs
@@ -9,9 +9,14 @@ fn main() {
if pkg_config::find_library("openssl").is_err() {
- let mut flags = " -l crypto -l ssl".to_string();
-
let target = os::getenv("TARGET").unwrap();
+ let is_android = target.find_str("android").is_some();
+
+ let mut flags = if is_android {
+ " -l crypto:static -l ssl:static"
+ } else {
+ " -l crypto -l ssl"
+ }.to_string();
let win_pos = target.find_str("windows")
.or(target.find_str("win32"))
@@ -23,7 +28,7 @@ fn main() {
flags.push_str(" -l gdi32 -l wsock32");
}
- if target.find_str("android").is_some() {
+ if is_android {
let path = os::getenv("OPENSSL_PATH").expect("Android does not provide openssl libraries, please \
build them yourselves (instructions in the README) \
and provide their location through $OPENSSL_PATH.");