diff options
| author | Jessica Hamilton <[email protected]> | 2017-04-22 13:58:21 +1200 |
|---|---|---|
| committer | Jessica Hamilton <[email protected]> | 2017-09-06 15:29:09 -0500 |
| commit | 6bc0e4019b77778c803d1e89d32755a0242d96bf (patch) | |
| tree | f92044435d4473c4bdad8c5b00e07efc0f626cfc /openssl-sys | |
| parent | Fix build note for MinGW (diff) | |
| download | rust-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.rs | 20 |
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"); |