diff options
| author | flysand7 <yyakut.ac@gmail.com> | 2023-10-14 21:21:34 +1100 |
|---|---|---|
| committer | flysand7 <yyakut.ac@gmail.com> | 2023-10-14 21:21:34 +1100 |
| commit | cf937c63412ebf7c071505dc880c8ea929baa6af (patch) | |
| tree | ec1c66468af2ba2d464e2a142cc83e243bd8b5e3 /vendor/lua | |
| parent | 77210ffa56876f502de64ac0bc3f3b9445b20bd9 (diff) | |
add 'shared' config to vendor libraries
Diffstat (limited to 'vendor/lua')
| -rw-r--r-- | vendor/lua/5.1/lua.odin | 23 | ||||
| -rw-r--r-- | vendor/lua/5.2/lua.odin | 23 | ||||
| -rw-r--r-- | vendor/lua/5.3/lua.odin | 23 | ||||
| -rw-r--r-- | vendor/lua/5.4/lua.odin | 31 |
4 files changed, 80 insertions, 20 deletions
diff --git a/vendor/lua/5.1/lua.odin b/vendor/lua/5.1/lua.odin index 5a0ae5bc7..a49fa4505 100644 --- a/vendor/lua/5.1/lua.odin +++ b/vendor/lua/5.1/lua.odin @@ -7,12 +7,25 @@ import c "core:c/libc" #assert(size_of(c.int) == size_of(b32)) -when ODIN_OS == .Windows { - foreign import lib "windows/lua5.1.dll.lib" -} else when ODIN_OS == .Linux { - foreign import lib "linux/liblua5.1.a" +LUA_SHARED :: #config(LUA_SHARED, false) + +when LUA_SHARED { + when ODIN_OS == .Windows { + // Does nothing special on windows + foreign import lib "windows/lua5.1.dll.lib" + } else when ODIN_OS == .Linux { + foreign import lib "linux/liblua5.1.so" + } else { + foreign import lib "system:liblua.so.5.1" + } } else { - foreign import lib "system:liblua5.1.a" + when ODIN_OS == .Windows { + foreign import lib "windows/lua5.1.dll.lib" + } else when ODIN_OS == .Linux { + foreign import lib "linux/liblua5.1.a" + } else { + foreign import lib "system:liblua5.1.a" + } } VERSION :: "Lua 5.1" diff --git a/vendor/lua/5.2/lua.odin b/vendor/lua/5.2/lua.odin index 9770e95b9..c03fdb6a5 100644 --- a/vendor/lua/5.2/lua.odin +++ b/vendor/lua/5.2/lua.odin @@ -7,12 +7,25 @@ import c "core:c/libc" #assert(size_of(c.int) == size_of(b32)) -when ODIN_OS == .Windows { - foreign import lib "windows/lua52dll.lib" -} else when ODIN_OS == .Linux { - foreign import lib "linux/liblua52.a" +LUA_SHARED :: config(LUA_SHARED, false) + +when LUA_SHARED { + when ODIN_OS == .Windows { + // Does nothing special on windows + foreign import lib "windows/lua52dll.lib" + } else when ODIN_OS == .Linux { + foreign import lib "linux/liblua52.so" + } else { + foreign import lib "system:liblua.so.5.2" + } } else { - foreign import lib "system:liblua52.a" + when ODIN_OS == .Windows { + foreign import lib "windows/lua52dll.lib" + } else when ODIN_OS == .Linux { + foreign import lib "linux/liblua52.a" + } else { + foreign import lib "system:liblua52.a" + } } VERSION_MAJOR :: "5" diff --git a/vendor/lua/5.3/lua.odin b/vendor/lua/5.3/lua.odin index db7419d15..c32801bb2 100644 --- a/vendor/lua/5.3/lua.odin +++ b/vendor/lua/5.3/lua.odin @@ -7,12 +7,25 @@ import c "core:c/libc" #assert(size_of(c.int) == size_of(b32)) -when ODIN_OS == .Windows { - foreign import lib "windows/lua53dll.lib" -} else when ODIN_OS == .Linux { - foreign import lib "linux/liblua53.a" +LUA_SHARED :: #config(LUA_SHARED, false) + +when LUA_SHARED { + when ODIN_OS == .Windows { + // Does nothing special on windows + foreign import lib "windows/lua53dll.lib" + } else when ODIN_OS == .Linux { + foreign import lib "linux/liblua53.so" + } else { + foreign import lib "system:liblua.so.5.3" + } } else { - foreign import lib "system:liblua53.a" + when ODIN_OS == .Windows { + foreign import lib "windows/lua53dll.lib" + } else when ODIN_OS == .Linux { + foreign import lib "linux/liblua53.a" + } else { + foreign import lib "system:liblua53.a" + } } VERSION_MAJOR :: "5" diff --git a/vendor/lua/5.4/lua.odin b/vendor/lua/5.4/lua.odin index 495786eb1..dd870d7fa 100644 --- a/vendor/lua/5.4/lua.odin +++ b/vendor/lua/5.4/lua.odin @@ -7,12 +7,33 @@ import c "core:c/libc" #assert(size_of(c.int) == size_of(b32)) -when ODIN_OS == .Windows { - foreign import lib "windows/lua54dll.lib" -} else when ODIN_OS == .Linux { - foreign import lib "linux/liblua54.a" +LUA_SHARED :: #config(LUA_SHARED, false) + +when LUA_SHARED { + when ODIN_OS == .Windows { + // LUA_SHARED does nothing special on windows + foreign import lib "windows/lua54dll.lib" + } else when ODIN_OS == .Linux { + foreign import lib "linux/liblua54.so" + } else { + // Note(bumbread): My linux system has a few aliases for this shared object + // lublua5.4.so, liblua.so, lublua.so.5.4, liblua.so.5.4.6. I don't know + // who enforces these numbers (probably ld?), and if it can be done in a + // unix-generic way, but in any way I think the most sane thing to do is to + // keep it close to what linux does and if it breaks, just special case those + // operating systems. + // Also there was no alias for liblua54.so, that seems to suggest that way + // of specifying it isn't portable + foreign import lib "system:liblua.so.5.4" + } } else { - foreign import lib "system:liblua54.a" + when ODIN_OS == .Windows { + foreign import lib "windows/lua54dll.lib" + } else when ODIN_OS == .Linux { + foreign import lib "linux/liblua54.a" + } else { + foreign import lib "system:liblua54.a" + } } VERSION_MAJOR :: "5" |