fn main() { let crate_dir = std::env::var("CARGO_MANIFEST_DIR").unwrap(); let out_file = format!("{}/libcalc.h", std::env::var("LIBCALC_BUILD_DIR").unwrap_or(String::from("."))); let cfg = cbindgen::Config { cpp_compat: true, ..Default::default() }; if std::path::Path::new(&out_file).exists() { std::fs::remove_file(&out_file).unwrap(); } let ok = cbindgen::Builder::new() .with_config(cfg) .with_crate(crate_dir) .with_language(cbindgen::Language::C) .with_include_guard("LIBCALC_H") .generate() .expect("Unable to generate bindings") .write_to_file(&out_file); assert!(ok); }