aboutsummaryrefslogtreecommitdiff
path: root/vendor
diff options
context:
space:
mode:
Diffstat (limited to 'vendor')
-rw-r--r--vendor/cgltf/cgltf.odin10
-rw-r--r--vendor/cgltf/src/Makefile20
2 files changed, 25 insertions, 5 deletions
diff --git a/vendor/cgltf/cgltf.odin b/vendor/cgltf/cgltf.odin
index 6e05c0b90..e244bc30c 100644
--- a/vendor/cgltf/cgltf.odin
+++ b/vendor/cgltf/cgltf.odin
@@ -1,12 +1,12 @@
-//+build windows
package cgltf
-when ODIN_OS == .Windows {
- foreign import lib "lib/cgltf.lib"
-}
-
import "core:c"
+when ODIN_OS == .Windows { foreign import lib "lib/cgltf.lib" }
+else when ODIN_OS == .Linux { foreign import lib "../lib/cgltf.a" }
+else when ODIN_OS == .Darwin { foreign import lib "../lib/darwin/cgltf.a" }
+else { foreign import lib "system:cgltf" }
+
file_type :: enum c.int {
invalid,
diff --git a/vendor/cgltf/src/Makefile b/vendor/cgltf/src/Makefile
new file mode 100644
index 000000000..d359c4739
--- /dev/null
+++ b/vendor/cgltf/src/Makefile
@@ -0,0 +1,20 @@
+OS=$(shell uname)
+
+ifeq ($(OS), Darwin)
+all: darwin
+else
+all: unix
+endif
+
+unix:
+ mkdir -p ../lib
+ $(CC) -c -O2 -Os -fPIC cgltf.c
+ $(AR) rcs ../lib/cgltf.a cgltf.o
+ rm *.o
+
+darwin:
+ mkdir -p ../lib
+ $(CC) -arch x86_64 -c -O2 -Os -fPIC cgltf.c -o cgltf-x86_64.o -mmacosx-version-min=10.12
+ $(CC) -arch arm64 -c -O2 -Os -fPIC cgltf.c -o cgltf-arm64.o -mmacosx-version-min=10.12
+ lipo -create cgltf-x86_64.o cgltf-arm64.o -output ../lib/darwin/cgltf.a
+ rm *.o