aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.toml3
-rw-r--r--build.rs242
2 files changed, 102 insertions, 143 deletions
diff --git a/Cargo.toml b/Cargo.toml
index ddf8160..f1434d1 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -16,8 +16,7 @@ libc = "0.2"
shared_library = "0.1.0"
[build-dependencies]
-gl_generator = "0.4"
-khronos_api = "1.0"
+gl_generator = "0.5"
[target.arm-linux-androideabi.dependencies.android_glue]
version = "0.1"
diff --git a/build.rs b/build.rs
index 5367173..7d911f5 100644
--- a/build.rs
+++ b/build.rs
@@ -1,6 +1,6 @@
extern crate gl_generator;
-extern crate khronos_api;
+use gl_generator::{Registry, Api, Profile, Fallbacks};
use std::env;
use std::fs::File;
use std::path::PathBuf;
@@ -13,175 +13,135 @@ fn main() {
if target.contains("windows") {
let mut file = File::create(&dest.join("wgl_bindings.rs")).unwrap();
- gl_generator::generate_bindings(gl_generator::StaticGenerator,
- gl_generator::registry::Ns::Wgl,
- gl_generator::Fallbacks::All,
- khronos_api::WGL_XML, vec![],
- "1.0", "core", &mut file).unwrap();
+ Registry::new(Api::Wgl, (1, 0), Profile::Core, Fallbacks::All, [])
+ .write_bindings(gl_generator::StaticGenerator, &mut file)
+ .unwrap();
let mut file = File::create(&dest.join("wgl_extra_bindings.rs")).unwrap();
- gl_generator::generate_bindings(gl_generator::StructGenerator,
- gl_generator::registry::Ns::Wgl,
- gl_generator::Fallbacks::All,
- khronos_api::WGL_XML,
- vec![
- "WGL_ARB_create_context".to_string(),
- "WGL_ARB_create_context_profile".to_string(),
- "WGL_ARB_create_context_robustness".to_string(),
- "WGL_ARB_context_flush_control".to_string(),
- "WGL_ARB_extensions_string".to_string(),
- "WGL_ARB_framebuffer_sRGB".to_string(),
- "WGL_ARB_multisample".to_string(),
- "WGL_ARB_pixel_format".to_string(),
- "WGL_ARB_pixel_format_float".to_string(),
- "WGL_EXT_create_context_es2_profile".to_string(),
- "WGL_EXT_extensions_string".to_string(),
- "WGL_EXT_framebuffer_sRGB".to_string(),
- "WGL_EXT_swap_control".to_string(),
- ],
- "1.0", "core", &mut file).unwrap();
+ Registry::new(Api::Wgl, (1, 0), Profile::Core, Fallbacks::All, [
+ "WGL_ARB_create_context",
+ "WGL_ARB_create_context_profile",
+ "WGL_ARB_create_context_robustness",
+ "WGL_ARB_context_flush_control",
+ "WGL_ARB_extensions_string",
+ "WGL_ARB_framebuffer_sRGB",
+ "WGL_ARB_multisample",
+ "WGL_ARB_pixel_format",
+ "WGL_ARB_pixel_format_float",
+ "WGL_EXT_create_context_es2_profile",
+ "WGL_EXT_extensions_string",
+ "WGL_EXT_framebuffer_sRGB",
+ "WGL_EXT_swap_control",
+ ])
+ .write_bindings(gl_generator::StructGenerator, &mut file).unwrap();
let mut file = File::create(&dest.join("egl_bindings.rs")).unwrap();
- gl_generator::generate_bindings(gl_generator::StructGenerator,
- gl_generator::registry::Ns::Egl,
- gl_generator::Fallbacks::All,
- khronos_api::EGL_XML,
- vec![
- "EGL_KHR_create_context".to_string(),
- "EGL_EXT_create_context_robustness".to_string(),
- "EGL_KHR_create_context_no_error".to_string(),
- "EGL_KHR_platform_x11".to_string(),
- "EGL_KHR_platform_android".to_string(),
- "EGL_KHR_platform_wayland".to_string(),
- "EGL_KHR_platform_gbm".to_string(),
- "EGL_EXT_platform_base".to_string(),
- "EGL_EXT_platform_x11".to_string(),
- "EGL_MESA_platform_gbm".to_string(),
- "EGL_EXT_platform_wayland".to_string(),
- "EGL_EXT_platform_device".to_string(),
- ],
- "1.5", "core", &mut file).unwrap();
+ Registry::new(Api::Egl, (1, 5), Profile::Core, Fallbacks::All, [
+ "EGL_KHR_create_context",
+ "EGL_EXT_create_context_robustness",
+ "EGL_KHR_create_context_no_error",
+ "EGL_KHR_platform_x11",
+ "EGL_KHR_platform_android",
+ "EGL_KHR_platform_wayland",
+ "EGL_KHR_platform_gbm",
+ "EGL_EXT_platform_base",
+ "EGL_EXT_platform_x11",
+ "EGL_MESA_platform_gbm",
+ "EGL_EXT_platform_wayland",
+ "EGL_EXT_platform_device",
+ ])
+ .write_bindings(gl_generator::StructGenerator, &mut file).unwrap();
}
if target.contains("linux") || target.contains("dragonfly") || target.contains("freebsd") || target.contains("openbsd") {
let mut file = File::create(&dest.join("glx_bindings.rs")).unwrap();
- gl_generator::generate_bindings(gl_generator::StructGenerator,
- gl_generator::registry::Ns::Glx,
- gl_generator::Fallbacks::All,
- khronos_api::GLX_XML, vec![],
- "1.4", "core", &mut file).unwrap();
+ Registry::new(Api::Glx, (1, 4), Profile::Core, Fallbacks::All, [])
+ .write_bindings(gl_generator::StructGenerator, &mut file).unwrap();
let mut file = File::create(&dest.join("glx_extra_bindings.rs")).unwrap();
- gl_generator::generate_bindings(gl_generator::StructGenerator,
- gl_generator::registry::Ns::Glx,
- gl_generator::Fallbacks::All,
- khronos_api::GLX_XML,
- vec![
- "GLX_ARB_create_context".to_string(),
- "GLX_ARB_create_context_profile".to_string(),
- "GLX_ARB_create_context_robustness".to_string(),
- "GLX_ARB_context_flush_control".to_string(),
- "GLX_ARB_fbconfig_float".to_string(),
- "GLX_ARB_framebuffer_sRGB".to_string(),
- "GLX_EXT_framebuffer_sRGB".to_string(),
- "GLX_ARB_multisample".to_string(),
- "GLX_EXT_swap_control".to_string(),
- "GLX_SGI_swap_control".to_string()
- ],
- "1.4", "core", &mut file).unwrap();
+ Registry::new(Api::Glx, (1, 4), Profile::Core, Fallbacks::All, [
+ "GLX_ARB_create_context",
+ "GLX_ARB_create_context_profile",
+ "GLX_ARB_create_context_robustness",
+ "GLX_ARB_context_flush_control",
+ "GLX_ARB_fbconfig_float",
+ "GLX_ARB_framebuffer_sRGB",
+ "GLX_EXT_framebuffer_sRGB",
+ "GLX_ARB_multisample",
+ "GLX_EXT_swap_control",
+ "GLX_SGI_swap_control"
+ ])
+ .write_bindings(gl_generator::StructGenerator, &mut file).unwrap();
let mut file = File::create(&dest.join("egl_bindings.rs")).unwrap();
- gl_generator::generate_bindings(gl_generator::StructGenerator,
- gl_generator::registry::Ns::Egl,
- gl_generator::Fallbacks::All,
- khronos_api::EGL_XML,
- vec![
- "EGL_KHR_create_context".to_string(),
- "EGL_EXT_create_context_robustness".to_string(),
- "EGL_KHR_create_context_no_error".to_string(),
- "EGL_KHR_platform_x11".to_string(),
- "EGL_KHR_platform_android".to_string(),
- "EGL_KHR_platform_wayland".to_string(),
- "EGL_KHR_platform_gbm".to_string(),
- "EGL_EXT_platform_base".to_string(),
- "EGL_EXT_platform_x11".to_string(),
- "EGL_MESA_platform_gbm".to_string(),
- "EGL_EXT_platform_wayland".to_string(),
- "EGL_EXT_platform_device".to_string(),
- ],
- "1.5", "core", &mut file).unwrap();
+ Registry::new(Api::Egl, (1, 5), Profile::Core, Fallbacks::All, [
+ "EGL_KHR_create_context",
+ "EGL_EXT_create_context_robustness",
+ "EGL_KHR_create_context_no_error",
+ "EGL_KHR_platform_x11",
+ "EGL_KHR_platform_android",
+ "EGL_KHR_platform_wayland",
+ "EGL_KHR_platform_gbm",
+ "EGL_EXT_platform_base",
+ "EGL_EXT_platform_x11",
+ "EGL_MESA_platform_gbm",
+ "EGL_EXT_platform_wayland",
+ "EGL_EXT_platform_device",
+ ])
+ .write_bindings(gl_generator::StructGenerator, &mut file).unwrap();
}
if target.contains("android") {
let mut file = File::create(&dest.join("egl_bindings.rs")).unwrap();
- gl_generator::generate_bindings(gl_generator::StaticStructGenerator,
- gl_generator::registry::Ns::Egl,
- gl_generator::Fallbacks::All,
- khronos_api::EGL_XML,
- vec![
- "EGL_KHR_create_context".to_string(),
- "EGL_EXT_create_context_robustness".to_string(),
- "EGL_KHR_create_context_no_error".to_string(),
- "EGL_KHR_platform_x11".to_string(),
- "EGL_KHR_platform_android".to_string(),
- "EGL_KHR_platform_wayland".to_string(),
- "EGL_KHR_platform_gbm".to_string(),
- "EGL_EXT_platform_base".to_string(),
- "EGL_EXT_platform_x11".to_string(),
- "EGL_MESA_platform_gbm".to_string(),
- "EGL_EXT_platform_wayland".to_string(),
- "EGL_EXT_platform_device".to_string(),
- ],
- "1.5", "core", &mut file).unwrap();
+ Registry::new(Api::Egl, (1, 5), Profile::Core, Fallbacks::All, [
+ "EGL_KHR_create_context",
+ "EGL_EXT_create_context_robustness",
+ "EGL_KHR_create_context_no_error",
+ "EGL_KHR_platform_x11",
+ "EGL_KHR_platform_android",
+ "EGL_KHR_platform_wayland",
+ "EGL_KHR_platform_gbm",
+ "EGL_EXT_platform_base",
+ "EGL_EXT_platform_x11",
+ "EGL_MESA_platform_gbm",
+ "EGL_EXT_platform_wayland",
+ "EGL_EXT_platform_device",
+ ])
+ .write_bindings(gl_generator::StaticStructGenerator, &mut file).unwrap();
}
if target.contains("ios") {
let mut file = File::create(&dest.join("egl_bindings.rs")).unwrap();
- gl_generator::generate_bindings(gl_generator::StaticStructGenerator,
- gl_generator::registry::Ns::Egl,
- gl_generator::Fallbacks::All,
- khronos_api::EGL_XML,
- vec![
- "EGL_KHR_create_context".to_string(),
- "EGL_EXT_create_context_robustness".to_string(),
- "EGL_KHR_create_context_no_error".to_string(),
- "EGL_KHR_platform_x11".to_string(),
- "EGL_KHR_platform_android".to_string(),
- "EGL_KHR_platform_wayland".to_string(),
- "EGL_KHR_platform_gbm".to_string(),
- "EGL_EXT_platform_base".to_string(),
- "EGL_EXT_platform_x11".to_string(),
- "EGL_MESA_platform_gbm".to_string(),
- "EGL_EXT_platform_wayland".to_string(),
- "EGL_EXT_platform_device".to_string(),
- ],
- "1.5", "core", &mut file).unwrap();
+ Registry::new(Api::Egl, (1, 5), Profile::Core, Fallbacks::All, [
+ "EGL_KHR_create_context",
+ "EGL_EXT_create_context_robustness",
+ "EGL_KHR_create_context_no_error",
+ "EGL_KHR_platform_x11",
+ "EGL_KHR_platform_android",
+ "EGL_KHR_platform_wayland",
+ "EGL_KHR_platform_gbm",
+ "EGL_EXT_platform_base",
+ "EGL_EXT_platform_x11",
+ "EGL_MESA_platform_gbm",
+ "EGL_EXT_platform_wayland",
+ "EGL_EXT_platform_device",
+ ])
+ .write_bindings(gl_generator::StaticStructGenerator, &mut file).unwrap();
let mut file = File::create(&dest.join("gles2_bindings.rs")).unwrap();
- gl_generator::generate_bindings(gl_generator::StaticStructGenerator,
- gl_generator::registry::Ns::Gles2,
- gl_generator::Fallbacks::None,
- khronos_api::GL_XML,
- vec![],
- "2.0", "core", &mut file).unwrap();
+ Registry::new(Api::Gles2, (2, 0), Profile::Core, Fallbacks::None, [])
+ .write_bindings(gl_generator::StaticStructGenerator, &mut file).unwrap();
}
if target.contains("darwin") {
let mut file = File::create(&dest.join("gl_bindings.rs")).unwrap();
- gl_generator::generate_bindings(gl_generator::GlobalGenerator,
- gl_generator::registry::Ns::Gl,
- gl_generator::Fallbacks::All,
- khronos_api::GL_XML,
- vec!["GL_EXT_framebuffer_object".to_string()],
- "3.2", "core", &mut file).unwrap();
+ Registry::new(Api::Gl, (3, 2), Profile::Core, Fallbacks::All, ["GL_EXT_framebuffer_object"])
+ .write_bindings(gl_generator::GlobalGenerator, &mut file).unwrap();
}
// TODO: only build the bindings below if we run tests/examples
let mut file = File::create(&dest.join("test_gl_bindings.rs")).unwrap();
- gl_generator::generate_bindings(gl_generator::StructGenerator,
- gl_generator::registry::Ns::Gles2,
- gl_generator::Fallbacks::All,
- khronos_api::GL_XML, vec![],
- "3.0", "core", &mut file).unwrap();
+ Registry::new(Api::Gles2, (3, 0), Profile::Core, Fallbacks::All, [])
+ .write_bindings(gl_generator::StructGenerator, &mut file).unwrap();
}