-
Notifications
You must be signed in to change notification settings - Fork 14.8k
[lldb] Use the Python limited API with SWIG 4.2 or later #153119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Use the Python limited API when building with SWIG 4.2 or later.
@llvm/pr-subscribers-lldb Author: Jonas Devlieghere (JDevlieghere) ChangesUse the Python limited API when building with SWIG 4.2 or later. Full diff: https://github.com/llvm/llvm-project/pull/153119.diff 1 Files Affected:
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)
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/162/builds/28799 Here is the relevant piece of the build log for the reference
|
… later" (#153327) Reverts llvm/llvm-project#153119 because with `LLDB_USE_LIBEDIT_READLINE_COMPAT_MODULE`, we're using `PyImport_Inittab` which isn't part of the stable API.
I see that this was reverted due to
If you're aiming to reland this after fixing the issue you ran into on the build bots, it'd be appreciated if you could look into this issue as well. |
Use the Python limited API when building with SWIG 4.2 or later.
llvm#153472) Use the Python limited API when building with SWIG 4.2 or later.
Use the Python limited API when building with SWIG 4.2 or later.