diff --git a/CHANGELOG.md b/CHANGELOG.md index 6462cc96..ce88f1f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -164,6 +164,7 @@ - Dev: Load less message history upon reconnects. (#5001, #5018) - Dev: Removed the `NullablePtr` class. (#5091) - Dev: BREAKING: Replace custom `import()` with normal Lua `require()`. (#5014, #5108) +- Dev: Compile Lua as a C library. (#5251) - Dev: Fixed most compiler warnings. (#5028, #5137) - Dev: Added the ability to show `ChannelView`s without a `Split`. (#4747) - Dev: Refactor Args to be less of a singleton. (#5041) diff --git a/lib/lua/CMakeLists.txt b/lib/lua/CMakeLists.txt index 086f5949..cf2fad9b 100644 --- a/lib/lua/CMakeLists.txt +++ b/lib/lua/CMakeLists.txt @@ -50,4 +50,4 @@ target_include_directories(lua PUBLIC ${LUA_INCLUDE_DIRS} ) -set_source_files_properties(${LUA_SRC} PROPERTIES LANGUAGE CXX) +set_source_files_properties(${LUA_SRC} PROPERTIES LANGUAGE C) diff --git a/src/controllers/plugins/LuaAPI.cpp b/src/controllers/plugins/LuaAPI.cpp index 291e95b2..497c2526 100644 --- a/src/controllers/plugins/LuaAPI.cpp +++ b/src/controllers/plugins/LuaAPI.cpp @@ -9,9 +9,11 @@ # include "messages/MessageBuilder.hpp" # include "providers/twitch/TwitchIrcServer.hpp" +extern "C" { # include # include # include +} # include # include # include diff --git a/src/controllers/plugins/LuaAPI.hpp b/src/controllers/plugins/LuaAPI.hpp index c37cfb7e..df042b24 100644 --- a/src/controllers/plugins/LuaAPI.hpp +++ b/src/controllers/plugins/LuaAPI.hpp @@ -2,7 +2,9 @@ #ifdef CHATTERINO_HAVE_PLUGINS +extern "C" { # include +} # include # include diff --git a/src/controllers/plugins/LuaUtilities.cpp b/src/controllers/plugins/LuaUtilities.cpp index 6866c2cc..9361cd1f 100644 --- a/src/controllers/plugins/LuaUtilities.cpp +++ b/src/controllers/plugins/LuaUtilities.cpp @@ -7,8 +7,10 @@ # include "controllers/plugins/api/ChannelRef.hpp" # include "controllers/plugins/LuaAPI.hpp" +extern "C" { # include # include +} # include # include diff --git a/src/controllers/plugins/LuaUtilities.hpp b/src/controllers/plugins/LuaUtilities.hpp index f610ae25..4c78d6ed 100644 --- a/src/controllers/plugins/LuaUtilities.hpp +++ b/src/controllers/plugins/LuaUtilities.hpp @@ -4,8 +4,10 @@ # include "common/QLogging.hpp" +extern "C" { # include # include +} # include # include diff --git a/src/controllers/plugins/Plugin.cpp b/src/controllers/plugins/Plugin.cpp index 562b6c07..fc0a255c 100644 --- a/src/controllers/plugins/Plugin.cpp +++ b/src/controllers/plugins/Plugin.cpp @@ -4,7 +4,9 @@ # include "common/QLogging.hpp" # include "controllers/commands/CommandController.hpp" +extern "C" { # include +} # include # include # include diff --git a/src/controllers/plugins/PluginController.cpp b/src/controllers/plugins/PluginController.cpp index 87683ce0..0f23df34 100644 --- a/src/controllers/plugins/PluginController.cpp +++ b/src/controllers/plugins/PluginController.cpp @@ -14,9 +14,11 @@ # include "singletons/Paths.hpp" # include "singletons/Settings.hpp" +extern "C" { # include # include # include +} # include # include diff --git a/src/controllers/plugins/api/ChannelRef.cpp b/src/controllers/plugins/api/ChannelRef.cpp index 8ae91cd9..986fbbac 100644 --- a/src/controllers/plugins/api/ChannelRef.cpp +++ b/src/controllers/plugins/api/ChannelRef.cpp @@ -9,8 +9,10 @@ # include "providers/twitch/TwitchChannel.hpp" # include "providers/twitch/TwitchIrcServer.hpp" +extern "C" { # include # include +} # include # include diff --git a/src/controllers/plugins/api/IOWrapper.cpp b/src/controllers/plugins/api/IOWrapper.cpp index 7eeffaf7..f6a58a0b 100644 --- a/src/controllers/plugins/api/IOWrapper.cpp +++ b/src/controllers/plugins/api/IOWrapper.cpp @@ -4,8 +4,11 @@ # include "Application.hpp" # include "controllers/plugins/LuaUtilities.hpp" # include "controllers/plugins/PluginController.hpp" -# include "lauxlib.h" -# include "lua.h" + +extern "C" { +# include +# include +} # include