Merge pull request #108 from DiamondLovesYou/nacl-crosses

Use locally built libreSSL if targeting NaCl instead of the host's versions.
This commit is contained in:
Steven Fackler 2014-12-09 02:13:09 -05:00
commit 43c9a43e2d
3 changed files with 17 additions and 0 deletions

View File

@ -18,3 +18,12 @@ aes_xts = []
[build-dependencies] [build-dependencies]
pkg-config = "0.1" 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"

View File

@ -3,6 +3,11 @@ extern crate "pkg-config" as pkg_config;
use std::os; use std::os;
fn main() { 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() { if pkg_config::find_library("openssl").is_err() {
let mut flags = " -l crypto -l ssl".to_string(); let mut flags = " -l crypto -l ssl".to_string();

View File

@ -4,6 +4,9 @@
extern crate libc; extern crate libc;
extern crate rustrt; 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 libc::{c_void, c_int, c_char, c_ulong, c_long, c_uint, c_uchar, size_t};
use std::mem; use std::mem;
use std::ptr; use std::ptr;