[Lldb-commits] [lldb] 75966ee - [lldb] Get rid of helper CMake variables for Python

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Mon Aug 17 08:48:57 PDT 2020


Author: Jonas Devlieghere
Date: 2020-08-17T08:47:52-07:00
New Revision: 75966ee241a2f1b7712caa1bbe66560347b23359

URL: https://github.com/llvm/llvm-project/commit/75966ee241a2f1b7712caa1bbe66560347b23359
DIFF: https://github.com/llvm/llvm-project/commit/75966ee241a2f1b7712caa1bbe66560347b23359.diff

LOG: [lldb] Get rid of helper CMake variables for Python

This patch is a big sed to rename the following variables:

  s/PYTHON_LIBRARIES/Python3_LIBRARIES/g
  s/PYTHON_INCLUDE_DIRS/Python3_INCLUDE_DIRS/g
  s/PYTHON_EXECUTABLE/Python3_EXECUTABLE/g
  s/PYTHON_RPATH/Python3_RPATH/g

I've also renamed the CMake module to better express its purpose and for
consistency with FindLuaAndSwig.

Differential revision: https://reviews.llvm.org/D85976

Added: 
    lldb/cmake/modules/FindPythonAndSwig.cmake

Modified: 
    lldb/CMakeLists.txt
    lldb/bindings/python/CMakeLists.txt
    lldb/cmake/modules/LLDBConfig.cmake
    lldb/source/API/CMakeLists.txt
    lldb/source/Plugins/ObjectFile/CMakeLists.txt
    lldb/source/Plugins/ScriptInterpreter/None/CMakeLists.txt
    lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
    lldb/test/API/CMakeLists.txt
    lldb/test/API/lit.site.cfg.py.in
    lldb/test/CMakeLists.txt
    lldb/test/Shell/lit.site.cfg.py.in
    lldb/test/Unit/lit.site.cfg.py.in
    lldb/test/lit.site.cfg.py.in
    lldb/tools/intel-features/CMakeLists.txt
    lldb/tools/lldb-test/CMakeLists.txt
    lldb/unittests/API/CMakeLists.txt
    lldb/unittests/Process/Linux/CMakeLists.txt
    lldb/unittests/ScriptInterpreter/Lua/CMakeLists.txt
    lldb/unittests/ScriptInterpreter/Python/CMakeLists.txt
    lldb/utils/lldb-dotest/lldb-dotest.in

Removed: 
    lldb/cmake/modules/FindPythonInterpAndLibs.cmake


################################################################################
diff  --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt
index cd3d3c8d7e01..4e417e97c188 100644
--- a/lldb/CMakeLists.txt
+++ b/lldb/CMakeLists.txt
@@ -36,7 +36,7 @@ endif()
 
 if (LLDB_ENABLE_PYTHON)
   execute_process(
-    COMMAND ${PYTHON_EXECUTABLE}
+    COMMAND ${Python3_EXECUTABLE}
         -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(True, False, ''))"
     OUTPUT_VARIABLE LLDB_PYTHON_DEFAULT_RELATIVE_PATH
     OUTPUT_STRIP_TRAILING_WHITESPACE)

diff  --git a/lldb/bindings/python/CMakeLists.txt b/lldb/bindings/python/CMakeLists.txt
index dc097cbe0468..d51730d18be0 100644
--- a/lldb/bindings/python/CMakeLists.txt
+++ b/lldb/bindings/python/CMakeLists.txt
@@ -28,7 +28,7 @@ function(create_python_package swig_target working_dir pkg_dir)
     set(copy_cmd COMMAND ${CMAKE_COMMAND} -E copy ${ARG_FILES} ${pkg_dir})
   endif()
   if(NOT ARG_NOINIT)
-    set(init_cmd COMMAND ${PYTHON_EXECUTABLE}
+    set(init_cmd COMMAND ${Python3_EXECUTABLE}
         "${LLDB_SOURCE_DIR}/bindings/python/createPythonInit.py"
         "${pkg_dir}" ${ARG_FILES})
   endif()

diff  --git a/lldb/cmake/modules/FindPythonInterpAndLibs.cmake b/lldb/cmake/modules/FindPythonAndSwig.cmake
similarity index 67%
rename from lldb/cmake/modules/FindPythonInterpAndLibs.cmake
rename to lldb/cmake/modules/FindPythonAndSwig.cmake
index 5ac472b036d7..c8edaaaca3e0 100644
--- a/lldb/cmake/modules/FindPythonInterpAndLibs.cmake
+++ b/lldb/cmake/modules/FindPythonAndSwig.cmake
@@ -1,5 +1,5 @@
 #.rst:
-# FindPythonInterpAndLibs
+# FindPythonAndSwig
 # -----------
 #
 # Find the python interpreter and libraries as a whole.
@@ -9,9 +9,6 @@ macro(FindPython3)
   set(Python3_ROOT_DIR "${PYTHON_HOME}")
   find_package(Python3 COMPONENTS Interpreter Development)
   if(Python3_FOUND AND Python3_Interpreter_FOUND)
-    set(PYTHON_LIBRARIES ${Python3_LIBRARIES})
-    set(PYTHON_INCLUDE_DIRS ${Python3_INCLUDE_DIRS})
-    set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
 
     # The install name for the Python 3 framework in Xcode is relative to
     # the framework's location and not the dylib itself.
@@ -25,21 +22,21 @@ macro(FindPython3)
     # called Python.framework instead of Python3.framework.
     if (APPLE AND Python3_LIBRARIES MATCHES "Python3.framework")
       string(FIND "${Python3_LIBRARIES}" "Python3.framework" python_framework_pos)
-      string(SUBSTRING "${Python3_LIBRARIES}" "0" ${python_framework_pos} PYTHON_RPATH)
+      string(SUBSTRING "${Python3_LIBRARIES}" "0" ${python_framework_pos} Python3_RPATH)
     endif()
 
     set(PYTHON3_FOUND TRUE)
     mark_as_advanced(
-      PYTHON_LIBRARIES
-      PYTHON_INCLUDE_DIRS
-      PYTHON_EXECUTABLE
-      PYTHON_RPATH
+      Python3_LIBRARIES
+      Python3_INCLUDE_DIRS
+      Python3_EXECUTABLE
+      Python3_RPATH
       SWIG_EXECUTABLE)
   endif()
 endmacro()
 
-if(PYTHON_LIBRARIES AND PYTHON_INCLUDE_DIRS AND PYTHON_EXECUTABLE AND SWIG_EXECUTABLE)
-  set(PYTHONINTERPANDLIBS_FOUND TRUE)
+if(Python3_LIBRARIES AND Python3_INCLUDE_DIRS AND Python3_EXECUTABLE AND SWIG_EXECUTABLE)
+  set(PYTHONANDSWIG_FOUND TRUE)
 else()
   find_package(SWIG 2.0)
   if (SWIG_FOUND)
@@ -49,12 +46,12 @@ else()
   endif()
 
   include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(PythonInterpAndLibs
+  find_package_handle_standard_args(PythonAndSwig
                                     FOUND_VAR
-                                      PYTHONINTERPANDLIBS_FOUND
+                                      PYTHONANDSWIG_FOUND
                                     REQUIRED_VARS
-                                      PYTHON_LIBRARIES
-                                      PYTHON_INCLUDE_DIRS
-                                      PYTHON_EXECUTABLE
+                                      Python3_LIBRARIES
+                                      Python3_INCLUDE_DIRS
+                                      Python3_EXECUTABLE
                                       SWIG_EXECUTABLE)
 endif()

diff  --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake
index ed77e188c107..b0c139e71ebc 100644
--- a/lldb/cmake/modules/LLDBConfig.cmake
+++ b/lldb/cmake/modules/LLDBConfig.cmake
@@ -56,7 +56,7 @@ add_optional_dependency(LLDB_ENABLE_LIBEDIT "Enable editline support in LLDB" Li
 add_optional_dependency(LLDB_ENABLE_CURSES "Enable curses support in LLDB" CursesAndPanel CURSESANDPANEL_FOUND)
 add_optional_dependency(LLDB_ENABLE_LZMA "Enable LZMA compression support in LLDB" LibLZMA LIBLZMA_FOUND)
 add_optional_dependency(LLDB_ENABLE_LUA "Enable Lua scripting support in LLDB" LuaAndSwig LUAANDSWIG_FOUND)
-add_optional_dependency(LLDB_ENABLE_PYTHON "Enable Python scripting support in LLDB" PythonInterpAndLibs PYTHONINTERPANDLIBS_FOUND)
+add_optional_dependency(LLDB_ENABLE_PYTHON "Enable Python scripting support in LLDB" PythonAndSwig PYTHONANDSWIG_FOUND)
 add_optional_dependency(LLDB_ENABLE_LIBXML2 "Enable Libxml 2 support in LLDB" LibXml2 LIBXML2_FOUND VERSION 2.8)
 
 option(LLDB_USE_SYSTEM_SIX "Use six.py shipped with system and do not install a copy of it" OFF)
@@ -143,9 +143,9 @@ 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})
 
-  include_directories(${PYTHON_INCLUDE_DIRS})
+  include_directories(${Python3_INCLUDE_DIRS})
   if (LLDB_EMBED_PYTHON_HOME)
-    get_filename_component(PYTHON_HOME "${PYTHON_EXECUTABLE}" DIRECTORY)
+    get_filename_component(PYTHON_HOME "${Python3_EXECUTABLE}" DIRECTORY)
     set(LLDB_PYTHON_HOME "${PYTHON_HOME}" CACHE STRING
       "Path to use as PYTHONHOME in lldb. If a relative path is specified, it will be resolved at runtime relative to liblldb directory.")
   endif()

diff  --git a/lldb/source/API/CMakeLists.txt b/lldb/source/API/CMakeLists.txt
index 86eb9e484713..8a7f28c01a9c 100644
--- a/lldb/source/API/CMakeLists.txt
+++ b/lldb/source/API/CMakeLists.txt
@@ -121,9 +121,9 @@ if(LLDB_ENABLE_PYTHON AND (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB) AND UNIX A
   set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "\$ORIGIN/../../../../lib${LLVM_LIBDIR_SUFFIX}")
 endif()
 
-if(PYTHON_RPATH)
-  set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "${PYTHON_RPATH}")
-  set_property(TARGET liblldb APPEND PROPERTY BUILD_RPATH   "${PYTHON_RPATH}")
+if(Python3_RPATH)
+  set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "${Python3_RPATH}")
+  set_property(TARGET liblldb APPEND PROPERTY BUILD_RPATH   "${Python3_RPATH}")
 endif()
 
 
@@ -184,9 +184,9 @@ endif()
 
 if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
   # Only MSVC has the ABI compatibility problem and avoids using FindPythonLibs,
-  # so only it needs to explicitly link against ${PYTHON_LIBRARIES}
+  # so only it needs to explicitly link against ${Python3_LIBRARIES}
   if (MSVC AND LLDB_ENABLE_PYTHON)
-    target_link_libraries(liblldb PRIVATE ${PYTHON_LIBRARIES})
+    target_link_libraries(liblldb PRIVATE ${Python3_LIBRARIES})
   endif()
 else()
   set_target_properties(liblldb

diff  --git a/lldb/source/Plugins/ObjectFile/CMakeLists.txt b/lldb/source/Plugins/ObjectFile/CMakeLists.txt
index 76f6d7ad0d78..77ca511bd7cf 100644
--- a/lldb/source/Plugins/ObjectFile/CMakeLists.txt
+++ b/lldb/source/Plugins/ObjectFile/CMakeLists.txt
@@ -3,4 +3,4 @@ add_subdirectory(ELF)
 add_subdirectory(Mach-O)
 add_subdirectory(PECOFF)
 add_subdirectory(JIT)
-add_subdirectory(wasm)
\ No newline at end of file
+add_subdirectory(wasm)

diff  --git a/lldb/source/Plugins/ScriptInterpreter/None/CMakeLists.txt b/lldb/source/Plugins/ScriptInterpreter/None/CMakeLists.txt
index 7e7dd5896f7c..ce4fb4f9c0a0 100644
--- a/lldb/source/Plugins/ScriptInterpreter/None/CMakeLists.txt
+++ b/lldb/source/Plugins/ScriptInterpreter/None/CMakeLists.txt
@@ -4,4 +4,4 @@ add_lldb_library(lldbPluginScriptInterpreterNone PLUGIN
   LINK_LIBS
     lldbCore
     lldbInterpreter
-  )
\ No newline at end of file
+  )

diff  --git a/lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt b/lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
index 761772f3a371..2cbf8bcbb229 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
@@ -19,7 +19,7 @@ add_lldb_library(lldbPluginScriptInterpreterPython PLUGIN
     lldbHost
     lldbInterpreter
     lldbTarget
-    ${PYTHON_LIBRARIES}
+    ${Python3_LIBRARIES}
     ${LLDB_LIBEDIT_LIBS}
 
   LINK_COMPONENTS

diff  --git a/lldb/test/API/CMakeLists.txt b/lldb/test/API/CMakeLists.txt
index a80992f287e9..192c0adc66a2 100644
--- a/lldb/test/API/CMakeLists.txt
+++ b/lldb/test/API/CMakeLists.txt
@@ -1,6 +1,6 @@
 function(add_python_test_target name test_script args comment)
   set(PYTHON_TEST_COMMAND
-    ${PYTHON_EXECUTABLE}
+    ${Python3_EXECUTABLE}
     ${test_script}
     ${args}
     )

diff  --git a/lldb/test/API/lit.site.cfg.py.in b/lldb/test/API/lit.site.cfg.py.in
index 866dc1675e7c..3a108ae5c85a 100644
--- a/lldb/test/API/lit.site.cfg.py.in
+++ b/lldb/test/API/lit.site.cfg.py.in
@@ -19,7 +19,7 @@ config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
 config.target_triple = "@TARGET_TRIPLE@"
 config.lldb_build_directory = "@LLDB_TEST_BUILD_DIRECTORY@"
 config.lldb_reproducer_directory = os.path.join("@LLDB_TEST_BUILD_DIRECTORY@", "reproducers")
-config.python_executable = "@PYTHON_EXECUTABLE@"
+config.python_executable = "@Python3_EXECUTABLE@"
 config.dotest_path = "@LLDB_SOURCE_DIR@/test/API/dotest.py"
 config.dotest_args_str = "@LLDB_DOTEST_ARGS@"
 config.lldb_enable_python = @LLDB_ENABLE_PYTHON@

diff  --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt
index dc5af5e2defe..c0249180253a 100644
--- a/lldb/test/CMakeLists.txt
+++ b/lldb/test/CMakeLists.txt
@@ -218,7 +218,7 @@ if(LLDB_BUILT_STANDALONE)
   if (EXISTS ${LLVM_MAIN_SRC_DIR}/utils/llvm-lit)
     # LLVM's make_paths_relative uses Python3_EXECUTABLE which isn't set in a
     # standalone LLDB build.
-    set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})
+    set(Python3_EXECUTABLE ${Python3_EXECUTABLE})
     add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/llvm-lit ${CMAKE_CURRENT_BINARY_DIR}/llvm-lit)
   endif()
 endif()

diff  --git a/lldb/test/Shell/lit.site.cfg.py.in b/lldb/test/Shell/lit.site.cfg.py.in
index d998a0ca51c9..ff4de9d527de 100644
--- a/lldb/test/Shell/lit.site.cfg.py.in
+++ b/lldb/test/Shell/lit.site.cfg.py.in
@@ -13,7 +13,7 @@ config.lldb_tools_dir = "@LLDB_TOOLS_DIR@"
 # should not need to be escaped.
 config.lldb_lit_tools_dir = r"@LLDB_LIT_TOOLS_DIR@"
 config.target_triple = "@TARGET_TRIPLE@"
-config.python_executable = "@PYTHON_EXECUTABLE@"
+config.python_executable = "@Python3_EXECUTABLE@"
 config.have_zlib = @LLVM_ENABLE_ZLIB@
 config.lldb_enable_lzma = @LLDB_ENABLE_LZMA@
 config.host_triple = "@LLVM_HOST_TRIPLE@"

diff  --git a/lldb/test/Unit/lit.site.cfg.py.in b/lldb/test/Unit/lit.site.cfg.py.in
index 9d9bcd4ba628..e2035d678cd9 100644
--- a/lldb/test/Unit/lit.site.cfg.py.in
+++ b/lldb/test/Unit/lit.site.cfg.py.in
@@ -10,7 +10,7 @@ config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
 config.lldb_obj_root = "@LLDB_BINARY_DIR@"
 config.lldb_src_root = "@LLDB_SOURCE_DIR@"
 config.target_triple = "@TARGET_TRIPLE@"
-config.python_executable = "@PYTHON_EXECUTABLE@"
+config.python_executable = "@Python3_EXECUTABLE@"
 
 # Support substitution of the tools and libs dirs with user parameters. This is
 # used when we can't determine the tool dir at configuration time.

diff  --git a/lldb/test/lit.site.cfg.py.in b/lldb/test/lit.site.cfg.py.in
index 49d789d42d9a..24c0a4d5aa04 100644
--- a/lldb/test/lit.site.cfg.py.in
+++ b/lldb/test/lit.site.cfg.py.in
@@ -10,7 +10,7 @@ config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
 config.lldb_obj_root = "@LLDB_BINARY_DIR@"
 config.lldb_src_root = "@LLDB_SOURCE_DIR@"
 config.target_triple = "@TARGET_TRIPLE@"
-config.python_executable = "@PYTHON_EXECUTABLE@"
+config.python_executable = "@Python3_EXECUTABLE@"
 
 # Support substitution of the tools and libs dirs with user parameters. This is
 # used when we can't determine the tool dir at configuration time.

diff  --git a/lldb/tools/intel-features/CMakeLists.txt b/lldb/tools/intel-features/CMakeLists.txt
index e5f3bbfaf11a..e4979ad5256d 100644
--- a/lldb/tools/intel-features/CMakeLists.txt
+++ b/lldb/tools/intel-features/CMakeLists.txt
@@ -56,7 +56,7 @@ add_lldb_library(lldbIntelFeatures SHARED
 
   LINK_LIBS
     ${FEATURE_LIBS}
-    ${PYTHON_LIBRARIES}
+    ${Python3_LIBRARIES}
   )
 
 # Add link dependencies for python wrapper

diff  --git a/lldb/tools/lldb-test/CMakeLists.txt b/lldb/tools/lldb-test/CMakeLists.txt
index 2edbd8e56d6e..562905760e2c 100644
--- a/lldb/tools/lldb-test/CMakeLists.txt
+++ b/lldb/tools/lldb-test/CMakeLists.txt
@@ -24,9 +24,9 @@ add_lldb_tool(lldb-test
     Support
   )
 
-if(PYTHON_RPATH)
-  set_property(TARGET lldb-test APPEND PROPERTY INSTALL_RPATH "${PYTHON_RPATH}")
-  set_property(TARGET lldb-test APPEND PROPERTY BUILD_RPATH   "${PYTHON_RPATH}")
+if(Python3_RPATH)
+  set_property(TARGET lldb-test APPEND PROPERTY INSTALL_RPATH "${Python3_RPATH}")
+  set_property(TARGET lldb-test APPEND PROPERTY BUILD_RPATH   "${Python3_RPATH}")
 endif()
 
 target_include_directories(lldb-test PRIVATE ${LLDB_SOURCE_DIR}/source)

diff  --git a/lldb/unittests/API/CMakeLists.txt b/lldb/unittests/API/CMakeLists.txt
index 308249b63add..2f066f26d8aa 100644
--- a/lldb/unittests/API/CMakeLists.txt
+++ b/lldb/unittests/API/CMakeLists.txt
@@ -5,6 +5,6 @@ add_lldb_unittest(APITests
     liblldb
   )
 
-if(PYTHON_RPATH)
-  set_property(TARGET APITests APPEND PROPERTY BUILD_RPATH "${PYTHON_RPATH}")
+if(Python3_RPATH)
+  set_property(TARGET APITests APPEND PROPERTY BUILD_RPATH "${Python3_RPATH}")
 endif()

diff  --git a/lldb/unittests/Process/Linux/CMakeLists.txt b/lldb/unittests/Process/Linux/CMakeLists.txt
index d2256bc5ea38..ab6eaa445416 100644
--- a/lldb/unittests/Process/Linux/CMakeLists.txt
+++ b/lldb/unittests/Process/Linux/CMakeLists.txt
@@ -6,4 +6,4 @@ add_lldb_unittest(ProcessorTraceTests
   )
 
 target_include_directories(ProcessorTraceTests PRIVATE
-  ${LLDB_SOURCE_DIR}/source/Plugins/Process/Linux)
\ No newline at end of file
+  ${LLDB_SOURCE_DIR}/source/Plugins/Process/Linux)

diff  --git a/lldb/unittests/ScriptInterpreter/Lua/CMakeLists.txt b/lldb/unittests/ScriptInterpreter/Lua/CMakeLists.txt
index aa8a95c7c54c..e030070a140f 100644
--- a/lldb/unittests/ScriptInterpreter/Lua/CMakeLists.txt
+++ b/lldb/unittests/ScriptInterpreter/Lua/CMakeLists.txt
@@ -9,4 +9,4 @@ add_lldb_unittest(ScriptInterpreterLuaTests
     LLVMTestingSupport
   LINK_COMPONENTS
     Support
-  )
\ No newline at end of file
+  )

diff  --git a/lldb/unittests/ScriptInterpreter/Python/CMakeLists.txt b/lldb/unittests/ScriptInterpreter/Python/CMakeLists.txt
index 913bd629526d..90a53bf17510 100644
--- a/lldb/unittests/ScriptInterpreter/Python/CMakeLists.txt
+++ b/lldb/unittests/ScriptInterpreter/Python/CMakeLists.txt
@@ -10,6 +10,6 @@ add_lldb_unittest(ScriptInterpreterPythonTests
     Support
   )
 
-if(PYTHON_RPATH)
-  set_property(TARGET ScriptInterpreterPythonTests APPEND PROPERTY BUILD_RPATH "${PYTHON_RPATH}")
-endif()
\ No newline at end of file
+if(Python3_RPATH)
+  set_property(TARGET ScriptInterpreterPythonTests APPEND PROPERTY BUILD_RPATH "${Python3_RPATH}")
+endif()

diff  --git a/lldb/utils/lldb-dotest/lldb-dotest.in b/lldb/utils/lldb-dotest/lldb-dotest.in
index ee0ea6dff748..f573d5bf28d4 100755
--- a/lldb/utils/lldb-dotest/lldb-dotest.in
+++ b/lldb/utils/lldb-dotest/lldb-dotest.in
@@ -1,4 +1,4 @@
-#!@PYTHON_EXECUTABLE@
+#!@Python3_EXECUTABLE@
 import subprocess
 import sys
 


        


More information about the lldb-commits mailing list