aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2014-12-09 02:13:09 -0500
committerSteven Fackler <[email protected]>2014-12-09 02:13:09 -0500
commit43c9a43e2dab93cfa24921b38c0a0fa8bd4e1857 (patch)
treee3e7b28e94bead0313cde3387929df2b662f5b8f
parentSpeed up SslStream initialization a bit (diff)
parentAdd a feature to openssl-sys to cause it to build a local copy of libressl for (diff)
downloadrust-openssl-43c9a43e2dab93cfa24921b38c0a0fa8bd4e1857.tar.xz
rust-openssl-43c9a43e2dab93cfa24921b38c0a0fa8bd4e1857.zip
Merge pull request #108 from DiamondLovesYou/nacl-crosses
Use locally built libreSSL if targeting NaCl instead of the host's versions.
-rw-r--r--openssl-sys/Cargo.toml9
-rw-r--r--openssl-sys/src/build.rs5
-rw-r--r--openssl-sys/src/lib.rs3
3 files changed, 17 insertions, 0 deletions
diff --git a/openssl-sys/Cargo.toml b/openssl-sys/Cargo.toml
index 6753681c..c434be49 100644
--- a/openssl-sys/Cargo.toml
+++ b/openssl-sys/Cargo.toml
@@ -18,3 +18,12 @@ aes_xts = []
[build-dependencies]
pkg-config = "0.1"
+
+[target.le32-unknown-nacl.dependencies]
+libressl-pnacl-sys = "2.1.0"
+[target.x86_64-unknown-nacl.dependencies]
+libressl-pnacl-sys = "2.1.0"
+[target.i686-unknown-nacl.dependencies]
+libressl-pnacl-sys = "2.1.0"
+[target.arm-unknown-nacl.dependencies]
+libressl-pnacl-sys = "2.1.0"
diff --git a/openssl-sys/src/build.rs b/openssl-sys/src/build.rs
index 707a8e65..e678f2b6 100644
--- a/openssl-sys/src/build.rs
+++ b/openssl-sys/src/build.rs
@@ -3,6 +3,11 @@ extern crate "pkg-config" as pkg_config;
use std::os;
fn main() {
+ // Without hackory, pkg-config will only look for host libraries.
+ // So, abandon ship if we're cross compiling.
+ if os::getenv("HOST") != os::getenv("TARGET") { return; }
+
+
if pkg_config::find_library("openssl").is_err() {
let mut flags = " -l crypto -l ssl".to_string();
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs
index 2b0c9292..0644a674 100644
--- a/openssl-sys/src/lib.rs
+++ b/openssl-sys/src/lib.rs
@@ -4,6 +4,9 @@
extern crate libc;
extern crate rustrt;
+#[cfg(feature = "libressl-pnacl-sys")]
+extern crate "libressl-pnacl-sys" as _for_linkage;
+
use libc::{c_void, c_int, c_char, c_ulong, c_long, c_uint, c_uchar, size_t};
use std::mem;
use std::ptr;