diff --git a/Cargo.toml b/Cargo.toml index 4c61dd7e770f49547574e442a3dafc71eec3a900..077c536db49b60f790ee35d27fa880ea2611d00e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,3 +13,25 @@ path = "src/lib.rs" tlsv1_2 = [] tlsv1_1 = [] sslv2 = [] + +[target.i686-apple-darwin.dependencies.openssl-sys] + git = "https://github.com/alexcrichton/openssl-sys" +[target.x86_64-apple-darwin.dependencies.openssl-sys] + git = "https://github.com/alexcrichton/openssl-sys" +[target.i686-unknown-linux-gnu.dependencies.openssl-sys] + git = "https://github.com/alexcrichton/openssl-sys" +[target.x86_64-unknown-linux-gnu.dependencies.openssl-sys] + git = "https://github.com/alexcrichton/openssl-sys" +[target.i686-unknown-freebsd.dependencies.openssl-sys] + git = "https://github.com/alexcrichton/openssl-sys" +[target.x86_64-unknown-freebsd.dependencies.openssl-sys] + git = "https://github.com/alexcrichton/openssl-sys" + +[target.le32-unknown-nacl.dependencies.libressl-pnacl-sys] +git = "https://github.com/DiamondLovesYou/libressl-pnacl-sys.git" +[target.arm-unknown-nacl.dependencies.libressl-pnacl-sys] +git = "https://github.com/DiamondLovesYou/libressl-pnacl-sys.git" +[target.i686-unknown-nacl.dependencies.libressl-pnacl-sys] +git = "https://github.com/DiamondLovesYou/libressl-pnacl-sys.git" +[target.x86_64-unknown-nacl.dependencies.libressl-pnacl-sys] +git = "https://github.com/DiamondLovesYou/libressl-pnacl-sys.git" diff --git a/src/ffi.rs b/src/ffi.rs index e661d20507c0f4727a52004033b3e3102ea2f9f6..e67f444d3df3b0a2e66dbd8d1324b89fe5520629 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -176,20 +176,26 @@ pub const X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE: c_int = 45; pub const X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: c_int = 53; pub const X509_V_OK: c_int = 0; -#[cfg( any( all(target_os = "macos", feature = "tlsv1_1"),all(target_os = "macos", feature = "tlsv1_2")))] -#[link(name="ssl.1.0.0")] -#[link(name="crypto.1.0.0")] -extern {} - -#[cfg(any( not( target_os = "macos"), all(target_os = "macos", not(feature = "tlsv1_1"), not(feature = "tlsv1_2"))))] -#[link(name="ssl")] -#[link(name="crypto")] -extern {} - -#[cfg(target_os = "win32")] -#[link(name="gdi32")] -#[link(name="wsock32")] -extern { } +#[cfg(not(target_os = "nacl"))] +mod link { + #[cfg( any( all(target_os = "macos", feature = "tlsv1_1"), + all(target_os = "macos", feature = "tlsv1_2")))] + #[link(name="ssl.1.0.0")] + #[link(name="crypto.1.0.0")] + extern {} + + #[cfg(any( not( target_os = "macos"), + all(target_os = "macos", not(feature = "tlsv1_1"), + not(feature = "tlsv1_2"))))] + #[link(name="ssl")] + #[link(name="crypto")] + extern {} + + #[cfg(target_os = "win32")] + #[link(name="gdi32")] + #[link(name="wsock32")] + extern { } +} static mut MUTEXES: *mut Vec = 0 as *mut Vec; diff --git a/src/lib.rs b/src/lib.rs index 8d81b70c97831e86edb5c1a985285778411d0cfd..456c8c7d31de393136a8cb264b95cd979825e997 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,6 +9,9 @@ extern crate libc; extern crate serialize; extern crate sync; +#[cfg(target_os = "nacl")] +extern crate "openssl-sys" as _unused; + mod macros; pub mod asn1;