aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys
diff options
context:
space:
mode:
authorJessica Hamilton <[email protected]>2017-04-22 13:58:21 +1200
committerJessica Hamilton <[email protected]>2017-09-06 15:29:09 -0500
commit6bc0e4019b77778c803d1e89d32755a0242d96bf (patch)
treef92044435d4473c4bdad8c5b00e07efc0f626cfc /openssl-sys
parentFix build note for MinGW (diff)
downloadrust-openssl-6bc0e4019b77778c803d1e89d32755a0242d96bf.tar.xz
rust-openssl-6bc0e4019b77778c803d1e89d32755a0242d96bf.zip
Allow overriding lib/include dirs when cross-compiling.
Diffstat (limited to 'openssl-sys')
-rw-r--r--openssl-sys/build.rs20
1 files changed, 16 insertions, 4 deletions
diff --git a/openssl-sys/build.rs b/openssl-sys/build.rs
index df530032..789f4ca7 100644
--- a/openssl-sys/build.rs
+++ b/openssl-sys/build.rs
@@ -38,11 +38,23 @@ enum Version {
fn main() {
let target = env::var("TARGET").unwrap();
+ let host = env::var("HOST").unwrap();
+
+ println!("target == {}", target);
+ println!("host == {}", host);
+
+ let mut env_lib_dir = "OPENSSL_LIB_DIR".to_string();
+ let mut env_include_dir = "OPENSSL_INCLUDE_DIR".to_string();
+
+ if target != host {
+ env_lib_dir = "TARGET_OPENSSL_LIB_DIR".to_string();
+ env_include_dir = "TARGET_OPENSSL_INCLUDE_DIR".to_string();
+ }
- println!("cargo:rerun-if-env-changed=OPENSSL_LIB_DIR");
- let lib_dir = env::var_os("OPENSSL_LIB_DIR").map(PathBuf::from);
- println!("cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR");
- let include_dir = env::var_os("OPENSSL_INCLUDE_DIR").map(PathBuf::from);
+ println!("cargo:rerun-if-env-changed={}", env_lib_dir);
+ let lib_dir = env::var_os(env_lib_dir).map(PathBuf::from);
+ println!("cargo:rerun-if-env-changed={}", env_include_dir);
+ let include_dir = env::var_os(env_include_dir).map(PathBuf::from);
let (lib_dir, include_dir) = if lib_dir.is_none() || include_dir.is_none() {
println!("cargo:rerun-if-env-changed=OPENSSL_DIR");