diff options
| author | Glenn Watson <[email protected]> | 2014-12-12 08:05:42 +1000 |
|---|---|---|
| committer | Glenn Watson <[email protected]> | 2014-12-12 08:05:42 +1000 |
| commit | 4d49abd102942c6374c83767949ef812a7806ea7 (patch) | |
| tree | eb0e1876fc5db630edb8119c3acdfc30273ec443 /openssl-sys/src | |
| parent | Clean up Copy impls a bit (diff) | |
| download | rust-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.rs | 11 |
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."); |