From: Haibo Huang Date: Mon, 16 Sep 2019 23:31:16 +0000 (+0000) Subject: Fix swig python package path X-Git-Tag: llvmorg-11-init~9078 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5a115e81cdd40c758b10c382aeffc0c8de6930e2;p=platform%2Fupstream%2Fllvm.git Fix swig python package path Summary: 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. Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D67583 llvm-svn: 372047 --- diff --git a/lldb/scripts/CMakeLists.txt b/lldb/scripts/CMakeLists.txt index 1a0ea96..9de96ef 100644 --- a/lldb/scripts/CMakeLists.txt +++ b/lldb/scripts/CMakeLists.txt @@ -42,13 +42,15 @@ add_custom_target(swig_wrapper ALL DEPENDS ) if(NOT LLDB_BUILD_FRAMEWORK) - if(CMAKE_SYSTEM_NAME MATCHES "Windows") - set(swig_python_subdir site-packages) + # The path here should match the result of python function + # distutils.sysconfig.get_python_lib(). + if(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") + 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