diff options
| author | Manish Goregaokar <[email protected]> | 2014-12-03 12:33:34 -0800 |
|---|---|---|
| committer | Manish Goregaokar <[email protected]> | 2014-12-03 12:49:53 -0800 |
| commit | 82db54c82279bfd91a9ab703444488d2ba6aa03c (patch) | |
| tree | dd392fe4609d337c42bb4879869165e4bf5b908a | |
| parent | Release v0.2.2 (diff) | |
| download | rust-openssl-82db54c82279bfd91a9ab703444488d2ba6aa03c.tar.xz rust-openssl-82db54c82279bfd91a9ab703444488d2ba6aa03c.zip | |
Allow passing in Android paths
| -rw-r--r-- | README.md | 5 | ||||
| -rw-r--r-- | openssl-sys/src/build.rs | 10 |
2 files changed, 15 insertions, 0 deletions
@@ -14,6 +14,11 @@ For some reason, the OpenSSL distribution for Windows is structured differently, 1. Run `sudo apt-get install libssl-dev`. 2. Run `cargo build`. +###Android +1. Follow the steps [here](wiki.openssl.org/index.php/Android) to build OpenSSL for android +2. Provide the path to the libssl and libcrypto binaries via `$OPENSSL_PATH` +3. Build the package with `cargo build` + ###Windows 1. Grab the latest Win32 OpenSSL installer [here][1]. At the time of this writing, it's v1.0.1i. If you're using 64-bit Rust (coming to Windows soon), then you should get the Win64 installer instead. diff --git a/openssl-sys/src/build.rs b/openssl-sys/src/build.rs index f32ced0e..df284c0f 100644 --- a/openssl-sys/src/build.rs +++ b/openssl-sys/src/build.rs @@ -17,6 +17,16 @@ fn main() { if win_pos.is_some() { flags.push_str(" -l gdi32 -l wsock32"); } + + // Android doesn't have libcrypto/libssl, + // the toplevel Rust program should compile it themselves + if target.find_str("android").is_some() { + 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."); + flags.push_str(" -L ${OPENSSL_PATH}"); + } + println!("cargo:rustc-flags={}", flags); } } |