| 123456789101112131415161718192021222324252627282930313233343536 | extern crate cbindgen;use cbindgen::{Config, Language};use std::env;use std::path::PathBuf;fn main() {    let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap();    let package_name = env::var("CARGO_PKG_NAME").unwrap();    let output_file = target_dir().join(format!("{package_name}.h")).display().to_string();    let config = Config {        language: Language::C,        cpp_compat: true,        namespace: Some(String::from("zeroidc")),        ..Default::default()    };    cbindgen::generate_with_config(&crate_dir, config)        .unwrap()        .write_to_file(&output_file);}/// Find the location of the `target/` directory. Note that this may be/// overridden by `cmake`, so we also need to check the `CARGO_TARGET_DIR`/// variable.fn target_dir() -> PathBuf {    if let Ok(target) = env::var("CARGO_TARGET_DIR") {        PathBuf::from(target)    } else {        PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap())            .join("..")            .join("target")    }}
 |