diff --git a/sys/Cargo.toml b/sys/Cargo.toml index 7bd2992..58b3847 100644 --- a/sys/Cargo.toml +++ b/sys/Cargo.toml @@ -28,6 +28,10 @@ build-license-gpl = ["build"] build-license-nonfree = ["build"] build-license-version3 = ["build"] +# misc +build-pic = ["build"] +build-zlib = ["build"] + # ssl build-lib-gnutls = ["build"] build-lib-openssl = ["build"] diff --git a/sys/build.rs b/sys/build.rs index 9cd0f58..bc87c1c 100644 --- a/sys/build.rs +++ b/sys/build.rs @@ -203,6 +203,9 @@ fn build() -> io::Result<()> { enable!(configure, "BUILD_LIB_SMBCLIENT", "libsmbclient"); enable!(configure, "BUILD_LIB_SSH", "libssh"); + // configure misc build options + enable!(configure, "BUILD_PIC", "pic"); + // run ./configure if !try!(configure.status()).success() { return Err(io::Error::new(io::ErrorKind::Other, "configure failed")); @@ -342,6 +345,10 @@ fn main() { if env::var("CARGO_FEATURE_BUILD").is_ok() { println!("cargo:rustc-link-search=native={}", search().join("lib").to_string_lossy()); + if env::var("CARGO_FEATURE_BUILD_ZLIB").is_ok() && cfg!(target_os = "linux") { + println!("cargo:rustc-link-lib=z"); + } + if fs::metadata(&search().join("lib").join("libavutil.a")).is_ok() { return; }