diff options
author | HampusM <hampus@hampusmat.com> | 2023-04-07 20:20:43 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2023-04-07 20:22:07 +0200 |
commit | 966ebb03abd8ae5ed4f47f4b53c00222269a56b4 (patch) | |
tree | 24e3325f1657bef89005583e9650b5c8e57459df /codegen/bindings.rs | |
parent | c7efbb55f075748d88e25735c6d7e85ba768fd15 (diff) |
refactor: replace usage of opengl-registry-macros
Diffstat (limited to 'codegen/bindings.rs')
-rw-r--r-- | codegen/bindings.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/codegen/bindings.rs b/codegen/bindings.rs new file mode 100644 index 0000000..d6b7e0d --- /dev/null +++ b/codegen/bindings.rs @@ -0,0 +1,24 @@ +use std::error::Error; +use std::path::Path; + +use bindgen::{CodegenConfig, MacroTypeVariation}; + +pub fn generate_bindings(dest_file: &Path) -> Result<(), Box<dyn Error>> +{ + 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(()) +} |