mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
miniaudio: add version mismatch check
This commit is contained in:
Vendored
+30
-1
@@ -14,8 +14,37 @@ when ODIN_OS == .Windows {
|
|||||||
foreign import lib "lib/miniaudio.a"
|
foreign import lib "lib/miniaudio.a"
|
||||||
}
|
}
|
||||||
|
|
||||||
handle :: distinct rawptr
|
BINDINGS_VERSION_MAJOR :: 0
|
||||||
|
BINDINGS_VERSION_MINOR :: 11
|
||||||
|
BINDINGS_VERSION_REVISION :: 21
|
||||||
|
BINDINGS_VERSION :: [3]u32{BINDINGS_VERSION_MAJOR, BINDINGS_VERSION_MINOR, BINDINGS_VERSION_REVISION}
|
||||||
|
BINDINGS_VERSION_STRING :: "0.11.21"
|
||||||
|
|
||||||
|
@(init)
|
||||||
|
version_check :: proc() {
|
||||||
|
v: [3]u32
|
||||||
|
version(&v.x, &v.y, &v.z)
|
||||||
|
if v != BINDINGS_VERSION {
|
||||||
|
buf: [1024]byte
|
||||||
|
n := copy(buf[:], "miniaudio version mismatch: ")
|
||||||
|
n += copy(buf[n:], "bindings are for version ")
|
||||||
|
n += copy(buf[n:], BINDINGS_VERSION_STRING)
|
||||||
|
n += copy(buf[n:], ", but version ")
|
||||||
|
n += copy(buf[n:], string(version_string()))
|
||||||
|
n += copy(buf[n:], " is linked, make sure to compile the correct miniaudio version by going to `vendor/miniaudio/src` ")
|
||||||
|
|
||||||
|
when ODIN_OS == .Windows {
|
||||||
|
n += copy(buf[n:], "and executing `build.bat`")
|
||||||
|
} else {
|
||||||
|
n += copy(buf[n:], "and executing `make`")
|
||||||
|
}
|
||||||
|
|
||||||
|
panic(string(buf[:n]))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
handle :: distinct rawptr
|
||||||
|
|
||||||
/* SIMD alignment in bytes. Currently set to 32 bytes in preparation for future AVX optimizations. */
|
/* SIMD alignment in bytes. Currently set to 32 bytes in preparation for future AVX optimizations. */
|
||||||
SIMD_ALIGNMENT :: 32
|
SIMD_ALIGNMENT :: 32
|
||||||
|
|||||||
Reference in New Issue
Block a user