[Lldb-commits] [lldb] c14ca45 - [lldb] Use the Python limited API with SWIG 4.2 or later (#153119)
via lldb-commits
lldb-commits at lists.llvm.org
Tue Aug 12 17:51:47 PDT 2025
Author: Jonas Devlieghere
Date: 2025-08-12T19:51:43-05:00
New Revision: c14ca4520f9107ac3f903436e18f42c2667b648a
URL: https://github.com/llvm/llvm-project/commit/c14ca4520f9107ac3f903436e18f42c2667b648a
DIFF: https://github.com/llvm/llvm-project/commit/c14ca4520f9107ac3f903436e18f42c2667b648a.diff
LOG: [lldb] Use the Python limited API with SWIG 4.2 or later (#153119)
Use the Python limited API when building with SWIG 4.2 or later.
Added:
Modified:
lldb/cmake/modules/LLDBConfig.cmake
Removed:
################################################################################
diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake
index a9679d63e010d..ca574a142b9dd 100644
--- a/lldb/cmake/modules/LLDBConfig.cmake
+++ b/lldb/cmake/modules/LLDBConfig.cmake
@@ -68,7 +68,6 @@ add_optional_dependency(LLDB_ENABLE_FBSDVMCORE "Enable libfbsdvmcore support in
option(LLDB_USE_ENTITLEMENTS "When codesigning, use entitlements if available" ON)
option(LLDB_BUILD_FRAMEWORK "Build LLDB.framework (Darwin only)" OFF)
option(LLDB_ENABLE_PROTOCOL_SERVERS "Enable protocol servers (e.g. MCP) in LLDB" ON)
-option(LLDB_ENABLE_PYTHON_LIMITED_API "Force LLDB to only use the Python Limited API (requires SWIG 4.2 or later)" OFF)
option(LLDB_NO_INSTALL_DEFAULT_RPATH "Disable default RPATH settings in binaries" OFF)
option(LLDB_USE_SYSTEM_DEBUGSERVER "Use the system's debugserver for testing (Darwin only)." OFF)
option(LLDB_SKIP_STRIP "Whether to skip stripping of binaries when installing lldb." OFF)
@@ -173,6 +172,14 @@ if (LLDB_ENABLE_PYTHON)
"Embed PYTHONHOME in the binary. If set to OFF, PYTHONHOME environment variable will be used to to locate Python."
${default_embed_python_home})
+ if (SWIG_VERSION VERSION_GREATER_EQUAL "4.2")
+ set(default_enable_python_limited_api ON)
+ else()
+ set(default_enable_python_limited_api OFF)
+ endif()
+ option(LLDB_ENABLE_PYTHON_LIMITED_API "Force LLDB to only use the Python Limited API (requires SWIG 4.2 or later)"
+ ${default_enable_python_limited_api})
+
include_directories(${Python3_INCLUDE_DIRS})
if (LLDB_EMBED_PYTHON_HOME)
get_filename_component(PYTHON_HOME "${Python3_EXECUTABLE}" DIRECTORY)
More information about the lldb-commits
mailing list