diff options
| author | Steven Fackler <[email protected]> | 2015-07-06 11:09:19 -0700 |
|---|---|---|
| committer | Steven Fackler <[email protected]> | 2015-07-06 11:09:19 -0700 |
| commit | 114e8a5a58a8fb3c4cc37391fc2f5a7addd796fc (patch) | |
| tree | d35618791cfc3bf1815b310639f74185a0d0464d /openssl-sys/build.rs | |
| parent | Merge branch 'release-v0.6.3' into release (diff) | |
| parent | Release v0.6.4 (diff) | |
| download | rust-openssl-0.6.4.tar.xz rust-openssl-0.6.4.zip | |
Merge branch 'release-v0.6.4' into releasev0.6.4
Diffstat (limited to 'openssl-sys/build.rs')
| -rw-r--r-- | openssl-sys/build.rs | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/openssl-sys/build.rs b/openssl-sys/build.rs index de43c462..c1f12034 100644 --- a/openssl-sys/build.rs +++ b/openssl-sys/build.rs @@ -14,13 +14,16 @@ fn main() { let include_dir = env::var("OPENSSL_INCLUDE_DIR").ok(); if lib_dir.is_none() && include_dir.is_none() { - if let Ok(info) = pkg_config::find_library("openssl") { - build_old_openssl_shim(&info.include_paths); - return; + // rustc doesn't seem to work with pkg-config's output in mingw64 + if !target.contains("windows") { + if let Ok(info) = pkg_config::find_library("openssl") { + build_openssl_shim(&info.include_paths); + return; + } } if let Some(mingw_paths) = get_mingw_in_path() { for path in mingw_paths { - println!("cargo:rustc-flags=-L native={}", path); + println!("cargo:rustc-link-search=native={}", path); } } } @@ -46,11 +49,12 @@ fn main() { }; if let Some(lib_dir) = lib_dir { - println!("cargo:rustc-flags=-L native={}", lib_dir); + println!("cargo:rustc-link-search=native={}", lib_dir); } - let libs_arg = libs.iter().fold(String::new(), |args, lib| args + &format!(" -l {0}={1}", mode, lib)); - println!("cargo:rustc-flags={0}", libs_arg); + for lib in libs { + println!("cargo:rustc-link-lib={}={}", mode, lib); + } let mut include_dirs = vec![]; @@ -58,18 +62,18 @@ fn main() { include_dirs.push(PathBuf::from(&include_dir)); } - build_old_openssl_shim(&include_dirs); + build_openssl_shim(&include_dirs); } -fn build_old_openssl_shim(include_paths: &[PathBuf]) { +fn build_openssl_shim(include_paths: &[PathBuf]) { let mut config = gcc::Config::new(); for path in include_paths { config.include(path); } - config.file("src/old_openssl_shim.c") - .compile("libold_openssl_shim.a"); + config.file("src/openssl_shim.c") + .compile("libopenssl_shim.a"); } fn get_mingw_in_path() -> Option<Vec<String>> { |