aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys
diff options
context:
space:
mode:
authorAidan Hobson Sayers <[email protected]>2016-12-12 17:51:35 +0000
committerAidan Hobson Sayers <[email protected]>2016-12-12 17:51:35 +0000
commitb090804227596b1814bbb6c6cdcf89347270371e (patch)
tree4a8d5024ee5229f4f09c9bcbcffeae50ccc77746 /openssl-sys
parentFix ErrorStack display (diff)
downloadrust-openssl-b090804227596b1814bbb6c6cdcf89347270371e.tar.xz
rust-openssl-b090804227596b1814bbb6c6cdcf89347270371e.zip
Allow OPENSSL_{LIB,INCLUDE}_DIR to override OPENSSL_DIR
Diffstat (limited to 'openssl-sys')
-rw-r--r--openssl-sys/build.rs20
1 files changed, 14 insertions, 6 deletions
diff --git a/openssl-sys/build.rs b/openssl-sys/build.rs
index b6c8c2de..ce173192 100644
--- a/openssl-sys/build.rs
+++ b/openssl-sys/build.rs
@@ -11,17 +11,25 @@ use std::process::Command;
fn main() {
let target = env::var("TARGET").unwrap();
- let openssl_dir = env::var_os("OPENSSL_DIR").unwrap_or_else(|| {
- find_openssl_dir(&target)
- });
+ let lib_dir = env::var_os("OPENSSL_LIB_DIR").map(PathBuf::from);
+ let include_dir = env::var_os("OPENSSL_INCLUDE_DIR").map(PathBuf::from);
+
+ let (lib_dir, include_dir) = if lib_dir.is_none() || include_dir.is_none() {
+ let openssl_dir = env::var_os("OPENSSL_DIR").unwrap_or_else(|| {
+ find_openssl_dir(&target)
+ });
+ let openssl_dir = Path::new(&openssl_dir);
+ let lib_dir = lib_dir.unwrap_or_else(|| openssl_dir.join("lib"));
+ let include_dir = include_dir.unwrap_or_else(|| openssl_dir.join("include"));
+ (lib_dir, include_dir)
+ } else {
+ (lib_dir.unwrap(), include_dir.unwrap())
+ };
- let lib_dir = Path::new(&openssl_dir).join("lib");
- let include_dir = Path::new(&openssl_dir).join("include");
if !Path::new(&lib_dir).exists() {
panic!("OpenSSL library directory does not exist: {}",
lib_dir.to_string_lossy());
}
-
if !Path::new(&include_dir).exists() {
panic!("OpenSSL include directory does not exist: {}",
include_dir.to_string_lossy());