[lld] c4c3883 - build: use `find_package(Python3)` if available
Vitaly Buka via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 28 17:00:28 PDT 2020
Thank you!
Here is some affected bots for the record:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-android/builds/30157/steps/bootstrap%20clang/logs/stdio
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/26918/steps/check-msan%20in%20gcc%20build/logs/stdio
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-autoconf/builds/50110/steps/test%20tsan%20in%20debug%20compiler-rt%20build/logs/stdio
On Tue, 28 Apr 2020 at 16:44, Eric Christopher via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Broke a number of things for me and a few other people I spoke with as
> well. I've gone ahead and temporarily reverted here:
>
> commit 35edd704e0fda09e8e634515c0b451d4a8b6b914 (HEAD -> master,
> origin/master, origin/HEAD)
> Author: Eric Christopher <echristo at gmail.com>
> Date: Tue Apr 28 16:41:22 2020 -0700
>
> Temporarily revert "build: use `find_package(Python3)` if available"
> as it seems to be causing multiple people problems with running tests
> and building.
>
> This reverts commit c4c3883b00d3a6aa657a5e3e515c90c9ea1f81c6.
>
> and happy to work with Saleem to see what we can do to fix.
>
> Some builds and tests weren't running (all of lldb's python tests were
> failing and something weird in libc++ as well for building).
>
> Sorry, and let me know what I can do to help.
>
> -eric
>
> On Tue, Apr 28, 2020 at 10:26 AM Reid Kleckner via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> This broke the gn build (which Saleem is of course not obligated to fix),
>> and I applied a duct tape fix for it
>> in cbaa74a0981833537e88a8eeac9c9df0f528833c. Feel free to improve on it.
>>
>>
>> On Tue, Apr 28, 2020 at 9:26 AM Saleem Abdulrasool via llvm-commits <
>> llvm-commits at lists.llvm.org> wrote:
>>
>>>
>>> Author: Saleem Abdulrasool
>>> Date: 2020-04-28T09:24:27-07:00
>>> New Revision: c4c3883b00d3a6aa657a5e3e515c90c9ea1f81c6
>>>
>>> URL:
>>> https://github.com/llvm/llvm-project/commit/c4c3883b00d3a6aa657a5e3e515c90c9ea1f81c6
>>> DIFF:
>>> https://github.com/llvm/llvm-project/commit/c4c3883b00d3a6aa657a5e3e515c90c9ea1f81c6.diff
>>>
>>> LOG: build: use `find_package(Python3)` if available
>>>
>>> This is primarily motivated by the desire to move from Python2 to
>>> Python3. `PYTHON_EXECUTABLE` is ambiguous. This explicitly identifies
>>> the python interpreter in use. Since the LLVM build seems to be able to
>>> completed successfully with python3, use that across the build. The old
>>> path aliases `PYTHON_EXECUTABLE` to be treated as Python3.
>>>
>>> Added:
>>>
>>>
>>> Modified:
>>> clang-tools-extra/test/lit.site.cfg.py.in
>>> clang/CMakeLists.txt
>>> clang/bindings/python/tests/CMakeLists.txt
>>> clang/test/lit.site.cfg.py.in
>>> clang/utils/perf-training/CMakeLists.txt
>>> clang/utils/perf-training/lit.site.cfg.in
>>> clang/utils/perf-training/order-files.lit.site.cfg.in
>>> lld/CMakeLists.txt
>>> lld/test/Unit/lit.site.cfg.py.in
>>> lld/test/lit.site.cfg.py.in
>>> llvm/CMakeLists.txt
>>> llvm/cmake/config-ix.cmake
>>> llvm/cmake/modules/AddLLVM.cmake
>>> llvm/test/lit.site.cfg.py.in
>>> llvm/tools/llvm-shlib/CMakeLists.txt
>>>
>>> Removed:
>>>
>>>
>>>
>>>
>>> ################################################################################
>>> diff --git a/clang-tools-extra/test/lit.site.cfg.py.in
>>> b/clang-tools-extra/test/lit.site.cfg.py.in
>>> index a970e7fafc1f..5dc112a56126 100644
>>> --- a/clang-tools-extra/test/lit.site.cfg.py.in
>>> +++ b/clang-tools-extra/test/lit.site.cfg.py.in
>>> @@ -8,7 +8,7 @@ config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
>>> config.clang_tools_binary_dir = "@CLANG_TOOLS_BINARY_DIR@"
>>> config.clang_tools_dir = "@CLANG_TOOLS_DIR@"
>>> config.clang_libs_dir = "@SHLIBDIR@"
>>> -config.python_executable = "@PYTHON_EXECUTABLE@"
>>> +config.python_executable = "@Python3_EXECUTABLE@"
>>> config.target_triple = "@TARGET_TRIPLE@"
>>> config.clang_staticanalyzer = @CLANG_ENABLE_STATIC_ANALYZER@
>>>
>>>
>>> diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
>>> index 88e556fd88a0..7dadc5f6e917 100644
>>> --- a/clang/CMakeLists.txt
>>> +++ b/clang/CMakeLists.txt
>>> @@ -130,16 +130,38 @@ if( CMAKE_SOURCE_DIR STREQUAL
>>> CMAKE_CURRENT_SOURCE_DIR )
>>> set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY
>>> ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
>>>
>>> if(LLVM_INCLUDE_TESTS)
>>> - include(FindPythonInterp)
>>> - if(NOT PYTHONINTERP_FOUND)
>>> - message(FATAL_ERROR
>>> -"Unable to find Python interpreter, required for builds and testing.
>>> + if(CMAKE_VERSION VERSION_LESS 3.12)
>>> + include(FindPythonInterp)
>>> + if(NOT PYTHONINTERP_FOUND)
>>> + message(FATAL_ERROR
>>> + "Unable to find Python interpreter, required for builds and testing.
>>>
>>> -Please install Python or specify the PYTHON_EXECUTABLE CMake variable.")
>>> - endif()
>>> + Please install Python or specify the PYTHON_EXECUTABLE CMake
>>> variable.")
>>> + endif()
>>> +
>>> + if( ${PYTHON_VERSION_STRING} VERSION_LESS 2.7 )
>>> + message(FATAL_ERROR "Python 2.7 or newer is required")
>>> + endif()
>>>
>>> - if( ${PYTHON_VERSION_STRING} VERSION_LESS 2.7 )
>>> - message(FATAL_ERROR "Python 2.7 or newer is required")
>>> + add_executable(Python3::Interpreter IMPORTED)
>>> + set_target_properties(Python3::Interpreter PROPERTIES
>>> + IMPORTED_LOCATION ${PYTHON_EXECUTABLE})
>>> + set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})
>>> + else()
>>> + find_package(Python3 COMPONENTS Interpreter)
>>> + if(NOT Python3_Interpreter_FOUND)
>>> + message(WARNING "Python3 not found, using python2 as a
>>> fallback")
>>> + find_package(Python2 COMPONENTS Interpreter REQUIRED)
>>> + if(Python2_VERSION VERSION_LESS 2.7)
>>> + message(SEND_ERROR "Python 2.7 or newer is required")
>>> + endif()
>>> +
>>> + # Treat python2 as python3
>>> + add_executable(Python3::Interpreter IMPORTED)
>>> + set_target_properties(Python3::Interpreter PROPERTIES
>>> + IMPORTED_LOCATION ${Python2_EXECUTABLE})
>>> + set(Python3_EXECUTABLE ${Python2_EXECUTABLE})
>>> + endif()
>>> endif()
>>>
>>> # Check prebuilt llvm/utils.
>>>
>>> diff --git a/clang/bindings/python/tests/CMakeLists.txt
>>> b/clang/bindings/python/tests/CMakeLists.txt
>>> index 626256af9c1b..3f58c4bde8e7 100644
>>> --- a/clang/bindings/python/tests/CMakeLists.txt
>>> +++ b/clang/bindings/python/tests/CMakeLists.txt
>>> @@ -3,7 +3,7 @@
>>> add_custom_target(check-clang-python
>>> COMMAND ${CMAKE_COMMAND} -E env
>>> CLANG_LIBRARY_PATH=$<TARGET_FILE_DIR:libclang>
>>> - ${PYTHON_EXECUTABLE} -m unittest discover
>>> + "${Python3_EXECUTABLE}" -m unittest discover
>>> DEPENDS libclang
>>> WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/..)
>>>
>>>
>>> diff --git a/clang/test/lit.site.cfg.py.in b/clang/test/
>>> lit.site.cfg.py.in
>>> index daec694bd128..4527ccadbb4a 100644
>>> --- a/clang/test/lit.site.cfg.py.in
>>> +++ b/clang/test/lit.site.cfg.py.in
>>> @@ -27,7 +27,7 @@ config.enable_backtrace = @ENABLE_BACKTRACES@
>>> config.enable_experimental_new_pass_manager =
>>> @ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER@
>>> config.enable_threads = @LLVM_ENABLE_THREADS@
>>> config.host_arch = "@HOST_ARCH@"
>>> -config.python_executable = "@PYTHON_EXECUTABLE@"
>>> +config.python_executable = "@Python3_EXECUTABLE@"
>>> config.use_z3_solver = lit_config.params.get('USE_Z3_SOLVER',
>>> "@USE_Z3_SOLVER@")
>>> config.has_plugins = @LLVM_ENABLE_PLUGINS@
>>>
>>>
>>> diff --git a/clang/utils/perf-training/CMakeLists.txt
>>> b/clang/utils/perf-training/CMakeLists.txt
>>> index 1f8612206b7a..172076fd0ce5 100644
>>> --- a/clang/utils/perf-training/CMakeLists.txt
>>> +++ b/clang/utils/perf-training/CMakeLists.txt
>>> @@ -23,7 +23,7 @@ if(LLVM_BUILD_INSTRUMENTED)
>>> )
>>>
>>> add_custom_target(clear-profraw
>>> - COMMAND ${PYTHON_EXECUTABLE}
>>> ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py clean
>>> ${CMAKE_CURRENT_BINARY_DIR} profraw
>>> + COMMAND "${Python3_EXECUTABLE}"
>>> ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py clean
>>> ${CMAKE_CURRENT_BINARY_DIR} profraw
>>> COMMENT "Clearing old profraw data")
>>>
>>> if(NOT LLVM_PROFDATA)
>>> @@ -34,7 +34,7 @@ if(LLVM_BUILD_INSTRUMENTED)
>>> message(STATUS "To enable merging PGO data LLVM_PROFDATA has to
>>> point to llvm-profdata")
>>> else()
>>> add_custom_target(generate-profdata
>>> - COMMAND ${PYTHON_EXECUTABLE}
>>> ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py merge ${LLVM_PROFDATA}
>>> ${CMAKE_CURRENT_BINARY_DIR}/clang.profdata ${CMAKE_CURRENT_BINARY_DIR}
>>> + COMMAND "${Python3_EXECUTABLE}"
>>> ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py merge ${LLVM_PROFDATA}
>>> ${CMAKE_CURRENT_BINARY_DIR}/clang.profdata ${CMAKE_CURRENT_BINARY_DIR}
>>> COMMENT "Merging profdata"
>>> DEPENDS generate-profraw)
>>> endif()
>>> @@ -55,7 +55,7 @@ if(APPLE AND DTRACE)
>>> )
>>>
>>> add_custom_target(clear-dtrace-logs
>>> - COMMAND ${PYTHON_EXECUTABLE}
>>> ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py clean
>>> ${CMAKE_CURRENT_BINARY_DIR} dtrace
>>> + COMMAND "${Python3_EXECUTABLE}"
>>> ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py clean
>>> ${CMAKE_CURRENT_BINARY_DIR} dtrace
>>> COMMENT "Clearing old dtrace data")
>>>
>>> if(NOT CLANG_ORDER_FILE)
>>> @@ -63,7 +63,7 @@ if(APPLE AND DTRACE)
>>> endif()
>>>
>>> add_custom_target(generate-order-file
>>> - COMMAND ${PYTHON_EXECUTABLE}
>>> ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py gen-order-file --binary
>>> $<TARGET_FILE:clang> --output ${CLANG_ORDER_FILE}
>>> ${CMAKE_CURRENT_BINARY_DIR}
>>> + COMMAND "${Python3_EXECUTABLE}"
>>> ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py gen-order-file --binary
>>> $<TARGET_FILE:clang> --output ${CLANG_ORDER_FILE}
>>> ${CMAKE_CURRENT_BINARY_DIR}
>>> COMMENT "Generating order file"
>>> DEPENDS generate-dtrace-logs)
>>> endif()
>>>
>>> diff --git a/clang/utils/perf-training/lit.site.cfg.in
>>> b/clang/utils/perf-training/lit.site.cfg.in
>>> index 340a0e909b10..a1c6d6bc663d 100644
>>> --- a/clang/utils/perf-training/lit.site.cfg.in
>>> +++ b/clang/utils/perf-training/lit.site.cfg.in
>>> @@ -7,7 +7,7 @@ config.perf_helper_dir = "@CMAKE_CURRENT_SOURCE_DIR@"
>>> config.test_exec_root = "@CMAKE_CURRENT_BINARY_DIR@"
>>> config.test_source_root = "@CLANG_PGO_TRAINING_DATA@"
>>> config.target_triple = "@TARGET_TRIPLE@"
>>> -config.python_exe = "@PYTHON_EXECUTABLE@"
>>> +config.python_exe = "@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/clang/utils/perf-training/order-files.lit.site.cfg.in
>>> b/clang/utils/perf-training/order-files.lit.site.cfg.in
>>> index 87406dbaf9a6..91f2b79d208d 100644
>>> --- a/clang/utils/perf-training/order-files.lit.site.cfg.in
>>> +++ b/clang/utils/perf-training/order-files.lit.site.cfg.in
>>> @@ -7,7 +7,7 @@ config.perf_helper_dir = "@CMAKE_CURRENT_SOURCE_DIR@"
>>> config.test_exec_root = "@CMAKE_CURRENT_BINARY_DIR@"
>>> config.test_source_root = "@CLANG_PGO_TRAINING_DATA@"
>>> config.target_triple = "@TARGET_TRIPLE@"
>>> -config.python_exe = "@PYTHON_EXECUTABLE@"
>>> +config.python_exe = "@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/lld/CMakeLists.txt b/lld/CMakeLists.txt
>>> index 3bd9e9556a85..7bbc59c7a811 100644
>>> --- a/lld/CMakeLists.txt
>>> +++ b/lld/CMakeLists.txt
>>> @@ -56,16 +56,38 @@ if(CMAKE_SOURCE_DIR STREQUAL
>>> CMAKE_CURRENT_SOURCE_DIR)
>>> include(HandleLLVMOptions)
>>>
>>> if(LLVM_INCLUDE_TESTS)
>>> - include(FindPythonInterp)
>>> - if(NOT PYTHONINTERP_FOUND)
>>> - message(FATAL_ERROR
>>> -"Unable to find Python interpreter, required for testing.
>>> + if(CMAKE_VERSION VERSION_LESS 3.12)
>>> + include(FindPythonInterp)
>>> + if(NOT PYTHONINTERP_FOUND)
>>> + message(FATAL_ERROR
>>> + "Unable to find Python interpreter, required for testing.
>>>
>>> -Please install Python or specify the PYTHON_EXECUTABLE CMake variable.")
>>> - endif()
>>> + Please install Python or specify the PYTHON_EXECUTABLE CMake
>>> variable.")
>>> + endif()
>>> +
>>> + if(${PYTHON_VERSION_STRING} VERSION_LESS 2.7)
>>> + message(FATAL_ERROR "Python 2.7 or newer is required")
>>> + endif()
>>>
>>> - if(${PYTHON_VERSION_STRING} VERSION_LESS 2.7)
>>> - message(FATAL_ERROR "Python 2.7 or newer is required")
>>> + add_executable(Python3::Interpeter IMPORTED)
>>> + set_target_properties(Python3::Interpreter PROPERTIES
>>> + IMPORTED_LOCATION ${PYTHON_EXECUTABLE})
>>> + set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})
>>> + else()
>>> + find_package(Python3 COMPONENTS Interpreter)
>>> + if(NOT Python3_Interpreter_FOUND)
>>> + message(WARNING "Python3 not found, using python2 as a
>>> fallback")
>>> + find_package(Python2 COMPONENTS Interpreter REQUIRED)
>>> + if(Python2_VERSION VERSION_LESS 2.7)
>>> + message(SEND_ERROR "Python 2.7 or newer is required")
>>> + endif()
>>> +
>>> + # Treat python2 as python3
>>> + add_executable(Python3::Interpreter IMPORTED)
>>> + set_target_properties(Python3::Interpreter PROPERTIES
>>> + IMPORTED_LOCATION ${Python2_EXECUTABLE})
>>> + set(Python3_EXECUTABLE ${Python2_EXECUTABLE})
>>> + endif()
>>> endif()
>>>
>>> # Check prebuilt llvm/utils.
>>>
>>> diff --git a/lld/test/Unit/lit.site.cfg.py.in b/lld/test/Unit/
>>> lit.site.cfg.py.in
>>> index cc12117ad0bf..d96e20f11d0a 100644
>>> --- a/lld/test/Unit/lit.site.cfg.py.in
>>> +++ b/lld/test/Unit/lit.site.cfg.py.in
>>> @@ -11,7 +11,7 @@ config.lld_src_root = "@LLD_SOURCE_DIR@"
>>> config.lld_libs_dir = "@LLVM_LIBRARY_OUTPUT_INTDIR@"
>>> config.lld_tools_dir = "@LLVM_RUNTIME_OUTPUT_INTDIR@"
>>> 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/lld/test/lit.site.cfg.py.in b/lld/test/lit.site.cfg.py.in
>>> index 02840f8d6a30..4aa2fcda73bb 100644
>>> --- a/lld/test/lit.site.cfg.py.in
>>> +++ b/lld/test/lit.site.cfg.py.in
>>> @@ -13,7 +13,7 @@ config.lld_obj_root = "@LLD_BINARY_DIR@"
>>> config.lld_libs_dir = "@LLVM_LIBRARY_OUTPUT_INTDIR@"
>>> config.lld_tools_dir = "@LLVM_RUNTIME_OUTPUT_INTDIR@"
>>> config.target_triple = "@TARGET_TRIPLE@"
>>> -config.python_executable = "@PYTHON_EXECUTABLE@"
>>> +config.python_executable = "@Python3_EXECUTABLE@"
>>> config.have_zlib = @HAVE_LIBZ@
>>> config.sizeof_void_p = @CMAKE_SIZEOF_VOID_P@
>>>
>>>
>>> diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
>>> index 8bc5a9f052f9..cc86e5ac3856 100644
>>> --- a/llvm/CMakeLists.txt
>>> +++ b/llvm/CMakeLists.txt
>>> @@ -671,16 +671,38 @@ option(LLVM_ENABLE_PLUGINS "Enable plugin support"
>>> ${LLVM_ENABLE_PLUGINS_default
>>>
>>> include(HandleLLVMOptions)
>>>
>>> -include(FindPythonInterp)
>>> -if( NOT PYTHONINTERP_FOUND )
>>> - message(FATAL_ERROR
>>> -"Unable to find Python interpreter, required for builds and testing.
>>> +if(CMAKE_VERSION VERSION_LESS 3.12)
>>> + include(FindPythonInterp)
>>> + if( NOT PYTHONINTERP_FOUND )
>>> + message(FATAL_ERROR
>>> + "Unable to find Python interpreter, required for builds and testing.
>>>
>>> -Please install Python or specify the PYTHON_EXECUTABLE CMake variable.")
>>> -endif()
>>> + Please install Python or specify the PYTHON_EXECUTABLE CMake
>>> variable.")
>>> + endif()
>>> +
>>> + if( ${PYTHON_VERSION_STRING} VERSION_LESS 2.7 )
>>> + message(FATAL_ERROR "Python 2.7 or newer is required")
>>> + endif()
>>>
>>> -if( ${PYTHON_VERSION_STRING} VERSION_LESS 2.7 )
>>> - message(FATAL_ERROR "Python 2.7 or newer is required")
>>> + add_executable(Python3::Interpreter IMPORTED)
>>> + set_target_properties(Python3::Interpreter PROPERTIES
>>> + IMPORTED_LOCATION ${PYTHON_EXECUTABLE})
>>> + set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})
>>> +else()
>>> + find_package(Python3 COMPONENTS Interpreter)
>>> + if(NOT Python3_Interpreter_FOUND)
>>> + message(WARNING "Python3 not found, using python2 as a fallback")
>>> + find_package(Python2 COMPONENTS Interpreter REQUIRED)
>>> + if(Python2_VERSION VERSION_LESS 2.7)
>>> + message(SEND_ERROR "Python 2.7 or newer is required")
>>> + endif()
>>> +
>>> + # Treat python2 as python3
>>> + add_executable(Python3::Interpreter IMPORTED)
>>> + set_target_properties(Python3::Interpreter PROPERTIES
>>> + IMPORTED_LOCATION ${Python2_EXECUTABLE})
>>> + set(Python3_EXECUTABLE ${Python2_EXECUTABLE})
>>> + endif()
>>> endif()
>>>
>>> ######
>>> @@ -716,7 +738,7 @@ endif (LLVM_USE_PERF)
>>>
>>> message(STATUS "Constructing LLVMBuild project information")
>>> execute_process(
>>> - COMMAND ${PYTHON_EXECUTABLE} -B ${LLVMBUILDTOOL}
>>> + COMMAND "${Python3_EXECUTABLE}" -B ${LLVMBUILDTOOL}
>>> --native-target "${LLVM_NATIVE_ARCH}"
>>> --enable-targets "${LLVM_TARGETS_TO_BUILD}"
>>> --enable-optional-components "${LLVMOPTIONALCOMPONENTS}"
>>>
>>> diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake
>>> index d9624c42da66..777cfd628a84 100644
>>> --- a/llvm/cmake/config-ix.cmake
>>> +++ b/llvm/cmake/config-ix.cmake
>>> @@ -639,7 +639,7 @@ function(find_python_module module)
>>> return()
>>> endif()
>>>
>>> - execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c" "import ${module}"
>>> + execute_process(COMMAND "${Python3_EXECUTABLE}" "-c" "import
>>> ${module}"
>>> RESULT_VARIABLE status
>>> ERROR_QUIET)
>>>
>>>
>>> diff --git a/llvm/cmake/modules/AddLLVM.cmake
>>> b/llvm/cmake/modules/AddLLVM.cmake
>>> index b77b59240eb1..cc1c122dce3d 100644
>>> --- a/llvm/cmake/modules/AddLLVM.cmake
>>> +++ b/llvm/cmake/modules/AddLLVM.cmake
>>> @@ -117,7 +117,7 @@ function(add_llvm_symbol_exports target_name
>>> export_file)
>>> set(native_export_file "${target_name}.def")
>>>
>>> add_custom_command(OUTPUT ${native_export_file}
>>> - COMMAND ${PYTHON_EXECUTABLE} -c "import
>>> sys;print(''.join(['EXPORTS\\n']+sys.stdin.readlines(),))"
>>> + COMMAND "${Python3_EXECUTABLE}" -c "import
>>> sys;print(''.join(['EXPORTS\\n']+sys.stdin.readlines(),))"
>>> < ${export_file} > ${native_export_file}
>>> DEPENDS ${export_file}
>>> VERBATIM
>>> @@ -1052,7 +1052,7 @@ function(export_executable_symbols target)
>>> set(mangling itanium)
>>> endif()
>>> add_custom_command(OUTPUT ${exported_symbol_file}
>>> - COMMAND ${PYTHON_EXECUTABLE}
>>> ${LLVM_MAIN_SRC_DIR}/utils/extract_symbols.py --mangling=${mangling}
>>> ${static_libs} -o ${exported_symbol_file}
>>> + COMMAND "${Python3_EXECUTABLE}"
>>> ${LLVM_MAIN_SRC_DIR}/utils/extract_symbols.py --mangling=${mangling}
>>> ${static_libs} -o ${exported_symbol_file}
>>> WORKING_DIRECTORY ${LLVM_LIBRARY_OUTPUT_INTDIR}
>>> DEPENDS
>>> ${LLVM_MAIN_SRC_DIR}/utils/extract_symbols.py ${static_libs}
>>> VERBATIM
>>> @@ -1453,7 +1453,7 @@ function(make_paths_relative out_pathlist basedir
>>> pathlist)
>>> # empty list entries. So escape the ;s in the list and do the
>>> splitting
>>> # ourselves. cmake has no relpath function, so use Python for that.
>>> string(REPLACE ";" "\\;" pathlist_escaped "${pathlist}")
>>> - execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c" "\n
>>> + execute_process(COMMAND "${Python3_EXECUTABLE}" "-c" "\n
>>> import os, sys\n
>>> base = sys.argv[1]
>>> def haslink(p):\n
>>> @@ -1528,7 +1528,6 @@ function(configure_lit_site_cfg site_in site_out)
>>> # SHLIBDIR points the build tree.
>>> string(REPLACE "${CMAKE_CFG_INTDIR}" "${LLVM_BUILD_MODE}" SHLIBDIR
>>> "${LLVM_SHLIB_OUTPUT_INTDIR}")
>>>
>>> - set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
>>> # FIXME: "ENABLE_SHARED" doesn't make sense, since it is used just for
>>> # plugins. We may rename it.
>>> if(LLVM_ENABLE_PLUGINS)
>>> @@ -1686,7 +1685,7 @@ function(add_lit_target target comment)
>>> ALLOW_EXTERNAL
>>> )
>>>
>>> - set(LIT_COMMAND
>>> "${PYTHON_EXECUTABLE};${lit_base_dir}/${lit_file_name}")
>>> + set(LIT_COMMAND
>>> "${Python3_EXECUTABLE};${lit_base_dir}/${lit_file_name}")
>>> list(APPEND LIT_COMMAND ${LIT_ARGS})
>>> foreach(param ${ARG_PARAMS})
>>> list(APPEND LIT_COMMAND --param ${param})
>>>
>>> diff --git a/llvm/test/lit.site.cfg.py.in b/llvm/test/
>>> lit.site.cfg.py.in
>>> index ee9e5941a39e..3797830862f7 100644
>>> --- a/llvm/test/lit.site.cfg.py.in
>>> +++ b/llvm/test/lit.site.cfg.py.in
>>> @@ -12,7 +12,7 @@ config.llvm_shlib_dir = path(r"@SHLIBDIR@")
>>> config.llvm_shlib_ext = "@SHLIBEXT@"
>>> config.llvm_exe_ext = "@EXEEXT@"
>>> config.lit_tools_dir = path(r"@LLVM_LIT_TOOLS_DIR@")
>>> -config.python_executable = "@PYTHON_EXECUTABLE@"
>>> +config.python_executable = "@Python3_EXECUTABLE@"
>>> config.gold_executable = "@GOLD_EXECUTABLE@"
>>> config.ld64_executable = "@LD64_EXECUTABLE@"
>>> config.ocamlfind_executable = "@OCAMLFIND@"
>>>
>>> diff --git a/llvm/tools/llvm-shlib/CMakeLists.txt
>>> b/llvm/tools/llvm-shlib/CMakeLists.txt
>>> index eb42abfc1d40..563e4a100dc4 100644
>>> --- a/llvm/tools/llvm-shlib/CMakeLists.txt
>>> +++ b/llvm/tools/llvm-shlib/CMakeLists.txt
>>> @@ -164,7 +164,7 @@ if(LLVM_BUILD_LLVM_C_DYLIB AND MSVC)
>>> endif()
>>>
>>> add_custom_command(OUTPUT ${LLVM_EXPORTED_SYMBOL_FILE}
>>> - COMMAND ${PYTHON_EXECUTABLE} ${GEN_SCRIPT} --libsfile ${LIBSFILE}
>>> ${GEN_UNDERSCORE} --nm "${llvm_nm}" -o ${LLVM_EXPORTED_SYMBOL_FILE}
>>> + COMMAND "${Python3_EXECUTABLE}" ${GEN_SCRIPT} --libsfile
>>> ${LIBSFILE} ${GEN_UNDERSCORE} --nm "${llvm_nm}" -o
>>> ${LLVM_EXPORTED_SYMBOL_FILE}
>>> DEPENDS ${LIB_NAMES} ${llvm_nm_target}
>>> COMMENT "Generating export list for LLVM-C"
>>> VERBATIM )
>>>
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200428/20e873d3/attachment.html>
More information about the llvm-commits
mailing list