hhb created this revision.
Herald added subscribers: lldb-commits, mgorny.
Herald added a project: LLDB.
The path defined in CMakeLists.txt doesn't match the path generated in
our python script. This change fixes that.
LLVM_LIBRARY_OUTPUT_INTDIR is defined as:
${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
On the other hand, the path of site-package is generaged in
get_framework_python_dir_windows() in finishSwigPythonLLDB.py as:
(Dispite its name, the function is used for everything other than xcode)
prefix/cmakeBuildConfiguration/distutils.sysconfig.get_python_lib()
>From lldb/CMakeLists.txt, we can see that:
prefix=${CMAKE_BINARY_DIR},
cmakeBuildConfiguration=${CMAKE_CFG_INTDIR}
And from python source code, we can see get_python_lib() always returns
lib/pythonx.y/site-packages for posix, or Lib/site-packages for windows:
https://github.com/python/cpython/blob/3.8/Lib/distutils/sysconfig.py#L128
We should make them match each other.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D67583
Files:
lldb/scripts/CMakeLists.txt
Index: lldb/scripts/CMakeLists.txt
===================================================================
--- lldb/scripts/CMakeLists.txt
+++ lldb/scripts/CMakeLists.txt
@@ -42,13 +42,14 @@
)
if(NOT LLDB_BUILD_FRAMEWORK)
+ # The path here should match python distutils.sysconfig.get_python_lib()
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
- set(swig_python_subdir site-packages)
+ set(swig_python_subdir Lib/site-packages)
else()
- set(swig_python_subdir
python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
+ set(swig_python_subdir
lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
endif()
- set(SWIG_PYTHON_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${swig_python_subdir})
+ set(SWIG_PYTHON_DIR
${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${swig_python_subdir})
set(SWIG_INSTALL_DIR lib${LLVM_LIBDIR_SUFFIX})
# Install the LLDB python module
Index: lldb/scripts/CMakeLists.txt
===================================================================
--- lldb/scripts/CMakeLists.txt
+++ lldb/scripts/CMakeLists.txt
@@ -42,13 +42,14 @@
)
if(NOT LLDB_BUILD_FRAMEWORK)
+ # The path here should match python distutils.sysconfig.get_python_lib()
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
- set(swig_python_subdir site-packages)
+ set(swig_python_subdir Lib/site-packages)
else()
- set(swig_python_subdir python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
+ set(swig_python_subdir lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
endif()
- set(SWIG_PYTHON_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${swig_python_subdir})
+ set(SWIG_PYTHON_DIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${swig_python_subdir})
set(SWIG_INSTALL_DIR lib${LLVM_LIBDIR_SUFFIX})
# Install the LLDB python module
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits