use std::{env, path::PathBuf};
use bindgen::EnumVariation::Rust;
use bindgen::MacroTypeVariation::Signed;
use pkg_config::Config;
fn main() {
if env::var("DOCS_RS").is_ok() || env::var("CARGO_DOC").is_ok() {
return;
}
println!("cargo:rerun-if-changed=include/wrapper.h");
let libs = Config::new().atleast_version("1.5.2").probe("opus").unwrap();
let headers = libs.include_paths;
let mut builder = bindgen::builder()
.header("include/wrapper.h")
.default_enum_style(Rust {
non_exhaustive: false,
})
.default_macro_constant_type(Signed)
.layout_tests(false)
.merge_extern_blocks(true)
.generate_comments(false);
for header in headers {
builder = builder.clang_arg("-I").clang_arg(header.to_str().unwrap());
}
builder.generate().unwrap().write_to_file(PathBuf::from(env::var("OUT_DIR").unwrap()).join("opus.rs")).unwrap();
}