aboutsummaryrefslogtreecommitdiffstats
path: root/build.rs
diff options
context:
space:
mode:
authorIvo Wetzel <ivo.wetzel@googlemail.com>2016-03-25 02:54:40 +0100
committerIvo Wetzel <ivo.wetzel@googlemail.com>2016-03-25 02:54:40 +0100
commit7a5e47c446801c40e9048668feb54f3d76dc2442 (patch)
tree83549f606174c40effa4656508920220efd10b45 /build.rs
parent7473d99c2f4038a36cb7848e0c08f89b47b219b3 (diff)
parent8ae2df68e19ca71453af5e11de9ca807ef7adcb4 (diff)
downloadglutin-7a5e47c446801c40e9048668feb54f3d76dc2442.tar.gz
glutin-7a5e47c446801c40e9048668feb54f3d76dc2442.zip
Merge branch 'master' into x11_window_size_constraints
Diffstat (limited to 'build.rs')
-rw-r--r--build.rs242
1 files changed, 101 insertions, 141 deletions
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();
}