summaryrefslogtreecommitdiff
path: root/bindgen/rust/celeritas-sys
diff options
context:
space:
mode:
Diffstat (limited to 'bindgen/rust/celeritas-sys')
-rw-r--r--bindgen/rust/celeritas-sys/build.rs29
-rw-r--r--bindgen/rust/celeritas-sys/src/lib.rs254
2 files changed, 133 insertions, 150 deletions
diff --git a/bindgen/rust/celeritas-sys/build.rs b/bindgen/rust/celeritas-sys/build.rs
index f0a1d36..24b1d85 100644
--- a/bindgen/rust/celeritas-sys/build.rs
+++ b/bindgen/rust/celeritas-sys/build.rs
@@ -43,14 +43,10 @@ impl ParseCallbacks for AdditionalDerives {
}
fn main() {
- /* */
-
- // Tell cargo to look for shared libraries in the specified directory
// TODO: we need to look based on OS
- // println!("cargo:rustc-link-search=../../build/windows/x64/debug");
- let static_lib_path =
- "/Users/josh/code/CodenameVentus/deps/celeritas-core/build/macosx/arm64/debug".to_string();
+ // Tell cargo to look for shared libraries in the specified directory
+ let static_lib_path = "/home/joshua/repos/cel-core3/build".to_string();
// let static_lib_path = std::env::var("CELERITAS_CORE_LIB")
// .unwrap_or("../../../build/macosx/arm64/debug".to_string());
@@ -58,9 +54,8 @@ fn main() {
// Tell cargo to tell rustc to link the system bzip2
// shared library.
- println!("cargo:rustc-link-lib=core_static");
- println!("cargo:rustc-link-lib=glfw3");
- // TODO: ^ use our locally compiled glfw
+ println!("cargo:rustc-link-lib=dylib=celeritas");
+ println!("cargo:rustc-link-lib=glfw");
// The bindgen::Builder is the main entry point
// to bindgen, and lets you build up options for
@@ -68,19 +63,7 @@ fn main() {
let bindings = bindgen::Builder::default()
// The input header we would like to generate
// bindings for.
- .header("../../../include/amalgamation.h")
- // -- our code
- .clang_arg("-I../../../src")
- .clang_arg("-I../../../src/core")
- .clang_arg("-I../../../src/maths")
- .clang_arg("-I../../../src/render")
- .clang_arg("-I../../../src/platform")
- .clang_arg("-I../../../src/ral")
- .clang_arg("-I../../../src/ral/backends/opengl")
- .clang_arg("-I../../../src/resources")
- .clang_arg("-I../../../src/std")
- .clang_arg("-I../../../src/std/containers")
- .clang_arg("-I../../../src/systems")
+ .header("../../../include/celeritas.h")
// -- dependencies
.clang_arg("-I../../../deps/cgltf")
.clang_arg("-I../../../deps/glfw-3.3.8/include/GLFW")
@@ -92,7 +75,7 @@ fn main() {
// Tell cargo to invalidate the built crate whenever any of the
// included header files changed.
.rustified_enum("GPU_TextureType")
- .rustified_enum("GPU_TextureFormat")
+ // .rustified_enum("GPU_TextureFormat")
.parse_callbacks(Box::new(bindgen::CargoCallbacks::new()))
.parse_callbacks(Box::new(AdditionalDerives))
// Finish the builder and generate the bindings.
diff --git a/bindgen/rust/celeritas-sys/src/lib.rs b/bindgen/rust/celeritas-sys/src/lib.rs
index 048e9f7..9ea3e47 100644
--- a/bindgen/rust/celeritas-sys/src/lib.rs
+++ b/bindgen/rust/celeritas-sys/src/lib.rs
@@ -6,101 +6,101 @@ use serde::{Deserialize, Serialize};
include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
-// --- Conversions
-pub mod conversions {
- use crate::{Mat4, Vec3, Vec4};
+// // --- Conversions
+// pub mod conversions {
+// use crate::{Mat4, Vec3, Vec4};
- impl From<Vec3> for glam::Vec3 {
- fn from(v: Vec3) -> Self {
- Self {
- x: v.x,
- y: v.y,
- z: v.z,
- }
- }
- }
- impl From<glam::Vec3> for Vec3 {
- fn from(v: glam::Vec3) -> Self {
- Self {
- x: v.x,
- y: v.y,
- z: v.z,
- }
- }
- }
+// impl From<Vec3> for glam::Vec3 {
+// fn from(v: Vec3) -> Self {
+// Self {
+// x: v.x,
+// y: v.y,
+// z: v.z,
+// }
+// }
+// }
+// impl From<glam::Vec3> for Vec3 {
+// fn from(v: glam::Vec3) -> Self {
+// Self {
+// x: v.x,
+// y: v.y,
+// z: v.z,
+// }
+// }
+// }
- impl From<Vec4> for glam::Vec4 {
- fn from(v: Vec4) -> Self {
- Self::new(v.x, v.y, v.z, v.w)
- }
- }
- impl From<glam::Vec4> for Vec4 {
- fn from(v: glam::Vec4) -> Self {
- Vec4 {
- x: v.x,
- y: v.y,
- z: v.z,
- w: v.w,
- }
- }
- }
+// impl From<Vec4> for glam::Vec4 {
+// fn from(v: Vec4) -> Self {
+// Self::new(v.x, v.y, v.z, v.w)
+// }
+// }
+// impl From<glam::Vec4> for Vec4 {
+// fn from(v: glam::Vec4) -> Self {
+// Vec4 {
+// x: v.x,
+// y: v.y,
+// z: v.z,
+// w: v.w,
+// }
+// }
+// }
- impl From<Mat4> for glam::Mat4 {
- fn from(m: Mat4) -> Self {
- Self {
- x_axis: glam::Vec4::new(m.data[0], m.data[1], m.data[2], m.data[3]),
- y_axis: glam::Vec4::new(m.data[4], m.data[5], m.data[6], m.data[7]),
- z_axis: glam::Vec4::new(m.data[8], m.data[9], m.data[10], m.data[11]),
- w_axis: glam::Vec4::new(m.data[12], m.data[13], m.data[14], m.data[15]),
- }
- }
- }
- impl From<glam::Mat4> for Mat4 {
- fn from(m: glam::Mat4) -> Self {
- let mut slf = Self { data: [0.0; 16] };
- m.write_cols_to_slice(&mut slf.data);
- slf
- }
- }
-}
+// impl From<Mat4> for glam::Mat4 {
+// fn from(m: Mat4) -> Self {
+// Self {
+// x_axis: glam::Vec4::new(m.data[0], m.data[1], m.data[2], m.data[3]),
+// y_axis: glam::Vec4::new(m.data[4], m.data[5], m.data[6], m.data[7]),
+// z_axis: glam::Vec4::new(m.data[8], m.data[9], m.data[10], m.data[11]),
+// w_axis: glam::Vec4::new(m.data[12], m.data[13], m.data[14], m.data[15]),
+// }
+// }
+// }
+// impl From<glam::Mat4> for Mat4 {
+// fn from(m: glam::Mat4) -> Self {
+// let mut slf = Self { data: [0.0; 16] };
+// m.write_cols_to_slice(&mut slf.data);
+// slf
+// }
+// }
+// }
-impl Transform {
- #[inline]
- pub fn identity() -> Self {
- Self {
- position: Vec3 {
- x: 0.,
- y: 0.,
- z: 0.,
- },
- rotation: Vec4 {
- x: 0.,
- y: 0.,
- z: 0.,
- w: 1.0,
- },
- scale: Vec3 {
- x: 1.,
- y: 1.,
- z: 1.,
- },
- is_dirty: true,
- }
- }
-}
+// impl Transform {
+// #[inline]
+// pub fn identity() -> Self {
+// Self {
+// position: Vec3 {
+// x: 0.,
+// y: 0.,
+// z: 0.,
+// },
+// rotation: Vec4 {
+// x: 0.,
+// y: 0.,
+// z: 0.,
+// w: 1.0,
+// },
+// scale: Vec3 {
+// x: 1.,
+// y: 1.,
+// z: 1.,
+// },
+// is_dirty: true,
+// }
+// }
+// }
-impl Vec3 {
- pub const ZERO: Self = Vec3 {
- x: 0.,
- y: 0.,
- z: 0.,
- };
- pub const ONE: Self = Vec3 {
- x: 1.,
- y: 1.,
- z: 1.,
- };
-}
+// impl Vec3 {
+// pub const ZERO: Self = Vec3 {
+// x: 0.,
+// y: 0.,
+// z: 0.,
+// };
+// pub const ONE: Self = Vec3 {
+// x: 1.,
+// y: 1.,
+// z: 1.,
+// };
+// }
impl Default for ShaderBinding {
fn default() -> Self {
@@ -118,43 +118,43 @@ impl Default for ShaderBinding {
}
}
-impl Default for Camera {
- fn default() -> Self {
- let camera_pos = Vec3 {
- x: 18.9,
- y: 10.6,
- z: 11.6,
- };
- let camera_front = Vec3 {
- x: -0.6,
- y: -0.2,
- z: -0.7,
- };
+// impl Default for Camera {
+// fn default() -> Self {
+// let camera_pos = Vec3 {
+// x: 18.9,
+// y: 10.6,
+// z: 11.6,
+// };
+// let camera_front = Vec3 {
+// x: -0.6,
+// y: -0.2,
+// z: -0.7,
+// };
- unsafe {
- Camera_Create(
- camera_pos,
- camera_front,
- Vec3 {
- x: 0.0,
- y: 1.0,
- z: 0.0,
- },
- 45.0,
- )
- }
- }
-}
+// unsafe {
+// Camera_Create(
+// camera_pos,
+// camera_front,
+// Vec3 {
+// x: 0.0,
+// y: 1.0,
+// z: 0.0,
+// },
+// 45.0,
+// )
+// }
+// }
+// }
-// -- fat pointer string type
+// // -- fat pointer string type
-impl Str8 {
- pub fn from_str(s: &str) -> Self {
- let s = s.to_owned();
- let s = s.leak(); // TODO: a better way than just leaking string memory :P
- Self {
- buf: s.as_mut_ptr(),
- len: 0,
- }
- }
-}
+// impl Str8 {
+// pub fn from_str(s: &str) -> Self {
+// let s = s.to_owned();
+// let s = s.leak(); // TODO: a better way than just leaking string memory :P
+// Self {
+// buf: s.as_mut_ptr(),
+// len: 0,
+// }
+// }
+// }