diff options
author | Pierre Krieger <pierre.krieger1708@gmail.com> | 2014-12-24 08:09:16 +0100 |
---|---|---|
committer | Pierre Krieger <pierre.krieger1708@gmail.com> | 2014-12-24 08:12:10 +0100 |
commit | 7f6f4f8d04b9f6dfbbc9528552fa45db932d6dae (patch) | |
tree | 200e6aa69df269df41ece6611d7d6a60d2eb1256 /build.rs | |
parent | a04668e850b1667b58467eec73bf3c0e0fbe93a1 (diff) | |
download | glutin-7f6f4f8d04b9f6dfbbc9528552fa45db932d6dae.tar.gz glutin-7f6f4f8d04b9f6dfbbc9528552fa45db932d6dae.zip |
Update for gl_generator's changes
Diffstat (limited to 'build.rs')
-rw-r--r-- | build.rs | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/build.rs b/build.rs new file mode 100644 index 0000000..166c223 --- /dev/null +++ b/build.rs @@ -0,0 +1,68 @@ +extern crate gl_generator; +extern crate khronos_api; + +use std::os; +use std::io::File; + +fn main() { + let target = os::getenv("TARGET").unwrap(); + let dest = Path::new(os::getenv("OUT_DIR").unwrap()); + + 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, + khronos_api::WGL_XML, vec![], + "1.0", "core", &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, + khronos_api::WGL_XML, + vec![ + "WGL_ARB_create_context".to_string(), + "WGL_EXT_swap_control".to_string() + ], + "1.0", "core", &mut file).unwrap(); + } + + if target.contains("linux") { + let mut file = File::create(&dest.join("glx_bindings.rs")).unwrap(); + gl_generator::generate_bindings(gl_generator::StaticGenerator, + gl_generator::registry::Ns::Glx, + khronos_api::GLX_XML, vec![], + "1.4", "core", &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, + khronos_api::GLX_XML, + vec![ + "GLX_ARB_create_context".to_string(), + ], + "1.4", "core", &mut file).unwrap(); + } + + if target.contains("android") { + let mut file = File::create(&dest.join("egl_bindings.rs")).unwrap(); + gl_generator::generate_bindings(gl_generator::StaticGenerator, + gl_generator::registry::Ns::Egl, + khronos_api::EGL_XML, vec![], + "1.5", "core", &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::Gl, + khronos_api::GL_XML, vec![], + "1.1", "core", &mut file).unwrap(); + + let mut file = File::create(&dest.join("test_gles1_bindings.rs")).unwrap(); + gl_generator::generate_bindings(gl_generator::StructGenerator, + gl_generator::registry::Ns::Gles1, + khronos_api::GL_XML, vec![], + "1.1", "core", &mut file).unwrap(); +} |