aboutsummaryrefslogtreecommitdiff
path: root/vendor/lua
diff options
context:
space:
mode:
authorflysand7 <yyakut.ac@gmail.com>2023-10-14 21:21:34 +1100
committerflysand7 <yyakut.ac@gmail.com>2023-10-14 21:21:34 +1100
commitcf937c63412ebf7c071505dc880c8ea929baa6af (patch)
treeec1c66468af2ba2d464e2a142cc83e243bd8b5e3 /vendor/lua
parent77210ffa56876f502de64ac0bc3f3b9445b20bd9 (diff)
add 'shared' config to vendor libraries
Diffstat (limited to 'vendor/lua')
-rw-r--r--vendor/lua/5.1/lua.odin23
-rw-r--r--vendor/lua/5.2/lua.odin23
-rw-r--r--vendor/lua/5.3/lua.odin23
-rw-r--r--vendor/lua/5.4/lua.odin31
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"