[Lldb-commits] [lldb] [lldb] Support both Lua 5.3 and Lua 5.4 (PR #115500)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Nov 8 07:41:58 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Jonas Devlieghere (JDevlieghere)
<details>
<summary>Changes</summary>
Lua 5.3 and Lua 5.4 are similar enough that we can easily support both in LLDB. This patch adds support for building LLDB with both and updates the documentation accordingly.
---
Full diff: https://github.com/llvm/llvm-project/pull/115500.diff
4 Files Affected:
- (modified) lldb/CMakeLists.txt (+1-2)
- (modified) lldb/cmake/modules/FindLuaAndSwig.cmake (+14-2)
- (modified) lldb/docs/resources/build.rst (+1-1)
- (modified) lldb/test/API/lit.site.cfg.py.in (+1-1)
``````````diff
diff --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt
index 5827e04b5662f3..20fbb57d62e69a 100644
--- a/lldb/CMakeLists.txt
+++ b/lldb/CMakeLists.txt
@@ -87,8 +87,7 @@ if (LLDB_ENABLE_PYTHON)
endif ()
if (LLDB_ENABLE_LUA)
- find_program(Lua_EXECUTABLE lua5.3)
- set(LLDB_LUA_DEFAULT_RELATIVE_PATH "lib/lua/5.3")
+ set(LLDB_LUA_DEFAULT_RELATIVE_PATH "lib/lua/${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
set(LLDB_LUA_RELATIVE_PATH ${LLDB_LUA_DEFAULT_RELATIVE_PATH}
CACHE STRING "Path where Lua modules are installed, relative to install prefix")
endif ()
diff --git a/lldb/cmake/modules/FindLuaAndSwig.cmake b/lldb/cmake/modules/FindLuaAndSwig.cmake
index 11548b76f843f0..33fadb2a097407 100644
--- a/lldb/cmake/modules/FindLuaAndSwig.cmake
+++ b/lldb/cmake/modules/FindLuaAndSwig.cmake
@@ -8,11 +8,21 @@ if(LUA_LIBRARIES AND LUA_INCLUDE_DIR AND LLDB_ENABLE_SWIG)
set(LUAANDSWIG_FOUND TRUE)
else()
if (LLDB_ENABLE_SWIG)
- find_package(Lua 5.3 EXACT)
+ find_package(Lua 5.3)
if(LUA_FOUND)
+ # Find the Lua executable. Only required to run a subset of the Lua
+ # tests.
+ find_program(LUA_EXECUTABLE
+ NAMES
+ "lua"
+ "lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
+ )
mark_as_advanced(
LUA_LIBRARIES
- LUA_INCLUDE_DIR)
+ LUA_INCLUDE_DIR
+ LUA_VERSION_MINOR
+ LUA_VERSION_MAJOR
+ LUA_EXECUTABLE)
endif()
else()
message(STATUS "SWIG 4 or later is required for Lua support in LLDB but could not be found")
@@ -26,5 +36,7 @@ else()
REQUIRED_VARS
LUA_LIBRARIES
LUA_INCLUDE_DIR
+ LUA_VERSION_MINOR
+ LUA_VERSION_MAJOR
LLDB_ENABLE_SWIG)
endif()
diff --git a/lldb/docs/resources/build.rst b/lldb/docs/resources/build.rst
index 33b6a6f79def4b..66db84522bff1f 100644
--- a/lldb/docs/resources/build.rst
+++ b/lldb/docs/resources/build.rst
@@ -64,7 +64,7 @@ CMake configuration error.
+-------------------+------------------------------------------------------+--------------------------+
| Python | Python scripting | ``LLDB_ENABLE_PYTHON`` |
+-------------------+------------------------------------------------------+--------------------------+
-| Lua | Lua scripting | ``LLDB_ENABLE_LUA`` |
+| Lua | Lua scripting. Lua 5.3 and 5.4 are supported. | ``LLDB_ENABLE_LUA`` |
+-------------------+------------------------------------------------------+--------------------------+
Depending on your platform and package manager, one might run any of the
diff --git a/lldb/test/API/lit.site.cfg.py.in b/lldb/test/API/lit.site.cfg.py.in
index 7dd8ffd2f5cb4c..ff6c705caea96c 100644
--- a/lldb/test/API/lit.site.cfg.py.in
+++ b/lldb/test/API/lit.site.cfg.py.in
@@ -20,7 +20,7 @@ config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
config.target_triple = "@LLVM_TARGET_TRIPLE@"
config.lldb_build_directory = "@LLDB_TEST_BUILD_DIRECTORY@"
config.python_executable = "@Python3_EXECUTABLE@"
-config.lua_executable = "@Lua_EXECUTABLE@"
+config.lua_executable = "@LUA_EXECUTABLE@"
config.lua_test_entry = "TestLuaAPI.py"
config.dotest_common_args_str = lit_config.substitute("@LLDB_TEST_COMMON_ARGS@")
config.dotest_user_args_str = lit_config.substitute("@LLDB_TEST_USER_ARGS@")
``````````
</details>
https://github.com/llvm/llvm-project/pull/115500
More information about the lldb-commits
mailing list