use std::error::Error; use std::path::Path; use bindgen::{CodegenConfig, MacroTypeVariation}; pub fn generate_bindings(dest_file: &Path) -> Result<(), Box> { println!("cargo:rerun-if-changed=gl.h"); let bindings = bindgen::Builder::default() .header("gl.h") .default_macro_constant_type(MacroTypeVariation::Signed) .with_codegen_config(CodegenConfig::all() & !CodegenConfig::FUNCTIONS) .allowlist_type("GL.*") .allowlist_type("_cl_.*") .allowlist_var("GL_.*") .blocklist_item("GL_Z4.*") .blocklist_item("GL_Z6.*") .generate()?; bindings.write_to_file(dest_file)?; Ok(()) }