mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-13 01:21:38 -07: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"
|
||||
}
|
||||
|
||||
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 :: 32
|
||||
|
||||
Reference in New Issue
Block a user