use std::env; use std::path::PathBuf; use std::process::Command; fn main() { Command::new("sh") .args(["-c", "./gen_workaround.sh > clib/wrapper.h"]) .status() .expect("Failed to generate clib/wrapper.h"); let bindings = bindgen::Builder::default() .header("clib/wrapper.h") .parse_callbacks(Box::new(bindgen::CargoCallbacks::new())) .generate() .expect("Unable to generate bindings"); let out_path = PathBuf::from(env::var("OUT_DIR").unwrap()); bindings .write_to_file(out_path.join("bindings.rs")) .expect("Couldn't write bindings!"); }