aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2016-10-14 19:16:08 -0700
committerSteven Fackler <[email protected]>2016-10-14 19:16:08 -0700
commitd7a433bdef4bd232c00cddff1a18569b23903ba4 (patch)
tree6103a6dc033fac707b061831599b7ee41a89bdc4 /openssl-sys
parentMerge pull request #469 from sfackler/hostname (diff)
downloadrust-openssl-d7a433bdef4bd232c00cddff1a18569b23903ba4.tar.xz
rust-openssl-d7a433bdef4bd232c00cddff1a18569b23903ba4.zip
Respect osslconf in systest
Also cfg off SSLv3_method, since it's disabled in the OpenSSL that ships with Arch Linux. More such flags can be added on demand - it doesn't seem worth auditing everything for them.
Diffstat (limited to 'openssl-sys')
-rw-r--r--openssl-sys/build.rs3
-rw-r--r--openssl-sys/src/ossl10x.rs1
2 files changed, 4 insertions, 0 deletions
diff --git a/openssl-sys/build.rs b/openssl-sys/build.rs
index 9f5b3877..b6540368 100644
--- a/openssl-sys/build.rs
+++ b/openssl-sys/build.rs
@@ -283,6 +283,7 @@ The build is now aborting due to this version mismatch.
// Look for `#define OPENSSL_FOO`, print out everything as our own
// #[cfg] flag.
+ let mut vars = vec![];
for line in conf_header.lines() {
let i = match line.find("define ") {
Some(i) => i,
@@ -291,8 +292,10 @@ The build is now aborting due to this version mismatch.
let var = line[i + "define ".len()..].trim();
if var.starts_with("OPENSSL") && !var.contains(" ") {
println!("cargo:rustc-cfg=osslconf=\"{}\"", var);
+ vars.push(var);
}
}
+ println!("cargo:osslconf={}", vars.join(","));
}
return version_text.to_string()
diff --git a/openssl-sys/src/ossl10x.rs b/openssl-sys/src/ossl10x.rs
index 86451a0c..16d669b0 100644
--- a/openssl-sys/src/ossl10x.rs
+++ b/openssl-sys/src/ossl10x.rs
@@ -549,6 +549,7 @@ extern {
pub fn OPENSSL_add_all_algorithms_noconf();
pub fn HMAC_CTX_init(ctx: *mut ::HMAC_CTX);
pub fn HMAC_CTX_cleanup(ctx: *mut ::HMAC_CTX);
+ #[cfg(not(osslconf = "OPENSSL_NO_SSL3_METHOD"))]
pub fn SSLv3_method() -> *const ::SSL_METHOD;
pub fn TLSv1_method() -> *const ::SSL_METHOD;
pub fn SSLv23_method() -> *const ::SSL_METHOD;