diff options
Diffstat (limited to 'build.rs')
-rw-r--r-- | build.rs | 23 |
1 files changed, 7 insertions, 16 deletions
@@ -2,26 +2,17 @@ use std::env; use std::error::Error; use std::path::PathBuf; -use bindgen::{CodegenConfig, MacroTypeVariation}; +use crate::codegen::bindings::generate_bindings; +use crate::codegen::generate_using_registry; + +mod codegen; pub fn main() -> 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()?; - - let out_path = PathBuf::from(env::var("OUT_DIR")?); + let out_dir = PathBuf::from(env::var("OUT_DIR")?); - bindings.write_to_file(out_path.join("bindings.rs"))?; + generate_bindings(&out_dir.join("bindings.rs"))?; + generate_using_registry(&out_dir.join("generated.rs"))?; Ok(()) } |