extern crate pkg_config;
use std::env;
use std::path::PathBuf;
#[cfg(feature = "mnl-1-0-4")]
const MIN_VERSION: &str = "1.0.4";
#[cfg(not(feature = "mnl-1-0-4"))]
const MIN_VERSION: &str = "1.0.3";
#[cfg(target_os = "linux")]
fn main() {
println!("cargo:rerun-if-env-changed=LIBMNL_LIB_DIR");
if let Some(lib_dir) = env::var_os("LIBMNL_LIB_DIR").map(PathBuf::from) {
if !lib_dir.is_dir() {
panic!(
"libmnl library directory does not exist: {}",
lib_dir.display()
);
}
println!("cargo:rustc-link-search=native={}", lib_dir.display());
println!("cargo:rustc-link-lib=mnl");
} else {
println!("Minimum libmnl version: {}", MIN_VERSION);
pkg_config::Config::new()
.atleast_version(MIN_VERSION)
.probe("libmnl")
.unwrap();
}
}
#[cfg(not(target_os = "linux"))]
fn main() {
eprintln!("This crate does nothing on non-Linux");
}