aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManish Goregaokar <[email protected]>2014-12-03 12:33:34 -0800
committerManish Goregaokar <[email protected]>2014-12-03 12:49:53 -0800
commit82db54c82279bfd91a9ab703444488d2ba6aa03c (patch)
treedd392fe4609d337c42bb4879869165e4bf5b908a
parentRelease v0.2.2 (diff)
downloadrust-openssl-82db54c82279bfd91a9ab703444488d2ba6aa03c.tar.xz
rust-openssl-82db54c82279bfd91a9ab703444488d2ba6aa03c.zip
Allow passing in Android paths
-rw-r--r--README.md5
-rw-r--r--openssl-sys/src/build.rs10
2 files changed, 15 insertions, 0 deletions
diff --git a/README.md b/README.md
index acb9b636..427f6e47 100644
--- a/README.md
+++ b/README.md
@@ -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);
}
}