extern crate bindgen;
extern crate metadeps;
use std::env;
use std::fs::File;
use std::io::Write;
use std::path::PathBuf;
fn main() {
let libs = metadeps::probe().unwrap();
let headers = libs.get("libass").unwrap().include_paths.clone();
let mut builder = bindgen::builder()
.header("data/libass.h")
.whitelist_function("^ass_.*")
.blacklist_function("ass_set_message_cb")
.whitelist_type("^(ASS|ass).*")
.blacklist_type("__.*")
.blacklist_type("va_list")
.bitfield_enum("ASS_OverrideBits")
.rustified_enum("ASS_DefaultFontProvider")
.rustified_enum("ASS_Hinting")
.rustified_enum("ASS_YCbCrMatrix")
.rustified_enum("ASS_ShapingLevel")
.rustified_enum("IMAGE_TYPE.*")
.rustified_enum("TRACK_TYPE.*");
for header in headers {
builder = builder.clang_arg("-I").clang_arg(header.to_str().unwrap());
}
let s = builder
.generate()
.unwrap()
.to_string()
.replace("/**", "/*")
.replace("/*!", "/*");
let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
let mut file = File::create(out_path.join("libass.rs")).unwrap();
let _ = file.write(s.as_bytes());
}