aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2015-02-12 09:23:46 -0800
committerSteven Fackler <[email protected]>2015-02-12 09:23:46 -0800
commit9d0b3d15744ce85b40594abcc3c0058e9dab70cc (patch)
treefcc36efb9dffc94aaa25906c2d5a650c49c99bc1
parentRelease v0.3.5 (diff)
downloadrust-openssl-9d0b3d15744ce85b40594abcc3c0058e9dab70cc.tar.xz
rust-openssl-9d0b3d15744ce85b40594abcc3c0058e9dab70cc.zip
Move BSD special case after pkg-config lookups
Also give a better error message if we couldn't find anything
-rw-r--r--openssl-sys/build.rs25
1 files changed, 14 insertions, 11 deletions
diff --git a/openssl-sys/build.rs b/openssl-sys/build.rs
index 37048f03..a3b9981e 100644
--- a/openssl-sys/build.rs
+++ b/openssl-sys/build.rs
@@ -25,25 +25,28 @@ fn main() {
return;
}
- // pkg-config doesn't know of OpenSSL on FreeBSD 10.1 and OpenBSD uses LibreSSL
- if target.contains("bsd") {
- println!("cargo:rustc-flags=-l crypto -l ssl");
- // going to assume the base system includes a new version of openssl
- build_old_openssl_shim(false);
- return;
- }
-
if pkg_config::Config::new().atleast_version("1.0.0").find("openssl").is_ok() {
build_old_openssl_shim(false);
return;
}
- if pkg_config::find_library("openssl").is_ok() {
- build_old_openssl_shim(true);
+ let err = match pkg_config::find_library("openssl") {
+ Ok(()) => {
+ build_old_openssl_shim(true);
+ return;
+ }
+ Err(err) => err,
+ };
+
+ // pkg-config doesn't know of OpenSSL on FreeBSD 10.1 and OpenBSD uses LibreSSL
+ if target.contains("bsd") {
+ println!("cargo:rustc-flags=-l crypto -l ssl");
+ // going to assume the base system includes a new version of openssl
+ build_old_openssl_shim(false);
return;
}
- panic!("Unable to find openssl libraries");
+ panic!("unable to find openssl: {}", err);
}
fn build_old_openssl_shim(is_old: bool) {