https://github.com/mstorsjo created https://github.com/llvm/llvm-project/pull/201325
In MinGW mode, the Python DLLs have different names than they have in MSVC mode; they are named `libpython<major>.<minor>.dll` (a "lib" prefix and a dot between major and minor) and `libpython3.dll`. This avoids a warning on startup after 142ad481b6254104a51da7d636ad9e3f30518a32 and total failures to start up after 3eb13f8db39ed42827122489c830c414cb6660e3. From 3e1b318df66335cdb1defd5c75c30a3a9fdc5583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <[email protected]> Date: Wed, 3 Jun 2026 14:31:52 +0300 Subject: [PATCH] [lldb] Use the right MinGW name for the Python DLLs In MinGW mode, the Python DLLs have different names than they have in MSVC mode; they are named libpython<major>.<minor>.dll (a "lib" prefix and a dot between major and minor) and libpython3.dll. This avoids a warning on startup after 142ad481b6254104a51da7d636ad9e3f30518a32 and total failures to start up after 3eb13f8db39ed42827122489c830c414cb6660e3. --- lldb/CMakeLists.txt | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt index 89d96cfcba9e3..48544505c203b 100644 --- a/lldb/CMakeLists.txt +++ b/lldb/CMakeLists.txt @@ -100,12 +100,22 @@ if (LLDB_ENABLE_PYTHON) if(WIN32) # On Windows, FindPython3 doesn't reliably expose the runtime DLL path, # only the import library. CPython's DLL naming is standard, though: - # python3.dll for the limited API, otherwise python<MAJOR><MINOR>.dll. - if(LLDB_ENABLE_PYTHON_LIMITED_API) - set(LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME "python${Python3_VERSION_MAJOR}.dll") + # python3.dll for the limited API, otherwise python<MAJOR><MINOR>.dll, + # and libpython3.dll and libpython<MAJOR>.<MINOR>.dll in MinGW mode. + if(MINGW) + if(LLDB_ENABLE_PYTHON_LIMITED_API) + set(LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME "libpython${Python3_VERSION_MAJOR}.dll") + else() + set(LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME + "libpython${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}.dll") + endif() else() - set(LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME - "python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}.dll") + if(LLDB_ENABLE_PYTHON_LIMITED_API) + set(LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME "python${Python3_VERSION_MAJOR}.dll") + else() + set(LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME + "python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}.dll") + endif() endif() message(STATUS "LLDB Python runtime DLL: ${LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME} " "(Python3_VERSION=${Python3_VERSION}, " _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
