You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.5 KiB
80 lines
2.5 KiB
From fb004501a6387bb7ba5182b60ec305e9947dc545 Mon Sep 17 00:00:00 2001
|
|
From: _yui <imbatman0xff@gmail.com>
|
|
Date: Tue, 7 Jul 2020 21:44:49 +0300
|
|
Subject: [PATCH 1/2] Fix building with Lua with deprecated functions removed
|
|
|
|
---
|
|
src/CMakeLists.txt | 5 +++++
|
|
src/xmoto/LuaLibBase.cpp | 6 ++++++
|
|
2 files changed, 11 insertions(+)
|
|
|
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
index a3f328f9..3618360e 100644
|
|
--- a/src/CMakeLists.txt
|
|
+++ b/src/CMakeLists.txt
|
|
@@ -461,6 +461,11 @@ check_prototype_definition(mkdir
|
|
)
|
|
target_compile_definitions(xmoto PUBLIC MS_MKDIR=$<BOOL:${MS_MKDIR}>)
|
|
|
|
+if(USE_SYSTEM_Lua)
|
|
+ check_symbol_exists(luaL_openlib lauxlib.h HAVE_LUAL_OPENLIB)
|
|
+ target_compile_definitions(xmoto PUBLIC HAVE_LUAL_OPENLIB=$<BOOL:${HAVE_LUAL_OPENLIB}>)
|
|
+endif()
|
|
+
|
|
target_compile_definitions(xmoto PUBLIC USE_OPENGL=$<BOOL:${USE_OPENGL}>)
|
|
target_compile_definitions(xmoto PUBLIC USE_SDLGFX=$<BOOL:${USE_SDLGFX}>)
|
|
target_compile_definitions(xmoto PUBLIC USE_GETTEXT=$<BOOL:${USE_GETTEXT}>)
|
|
diff --git a/src/xmoto/LuaLibBase.cpp b/src/xmoto/LuaLibBase.cpp
|
|
index fed3c79e..62b690e1 100644
|
|
--- a/src/xmoto/LuaLibBase.cpp
|
|
+++ b/src/xmoto/LuaLibBase.cpp
|
|
@@ -42,7 +42,13 @@ LuaLibBase::LuaLibBase(const std::string &i_libname, luaL_Reg i_reg[]) {
|
|
luaL_requiref(m_pL, LUA_TABLIBNAME, luaopen_table, 1);
|
|
#endif
|
|
|
|
+#if HAVE_LUAL_OPENLIB
|
|
luaL_openlib(m_pL, i_libname.c_str(), i_reg, 0);
|
|
+#else
|
|
+ lua_newtable(m_pL);
|
|
+ luaL_register(m_pL, i_libname.c_str(), i_reg);
|
|
+ lua_setglobal(m_pL, i_libname.c_str());
|
|
+#endif
|
|
}
|
|
|
|
LuaLibBase::~LuaLibBase() {
|
|
|
|
From 0a92ee4e8d6ffb88f137b74ba3e9a9b688ac50e6 Mon Sep 17 00:00:00 2001
|
|
From: _yui <imbatman0xff@gmail.com>
|
|
Date: Tue, 7 Jul 2020 23:01:38 +0300
|
|
Subject: [PATCH 2/2] Change luaL_register to luaL_setfuncs for lua 5.2 and
|
|
newer
|
|
|
|
---
|
|
src/xmoto/LuaLibBase.cpp | 10 ++++++++--
|
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/xmoto/LuaLibBase.cpp b/src/xmoto/LuaLibBase.cpp
|
|
index 62b690e1..911c5698 100644
|
|
--- a/src/xmoto/LuaLibBase.cpp
|
|
+++ b/src/xmoto/LuaLibBase.cpp
|
|
@@ -44,11 +44,17 @@ LuaLibBase::LuaLibBase(const std::string &i_libname, luaL_Reg i_reg[]) {
|
|
|
|
#if HAVE_LUAL_OPENLIB
|
|
luaL_openlib(m_pL, i_libname.c_str(), i_reg, 0);
|
|
-#else
|
|
+#else // HAVE_LUAL_OPENLIB
|
|
lua_newtable(m_pL);
|
|
+
|
|
+#if LUA_VERSION_NUM >= 502
|
|
+ luaL_setfuncs(m_pL, i_reg, 0);
|
|
+#else // LUA_VERSION_NUM >= 502
|
|
luaL_register(m_pL, i_libname.c_str(), i_reg);
|
|
+#endif // LUA_VERSION_NUM >= 502
|
|
+
|
|
lua_setglobal(m_pL, i_libname.c_str());
|
|
-#endif
|
|
+#endif // HAVE_LUAL_OPENLIB
|
|
}
|
|
|
|
LuaLibBase::~LuaLibBase() {
|