From 3ac75ee8ecbe3bb1d1907adf48731bb6dc2c9918 Mon Sep 17 00:00:00 2001 From: Nikolas Klauser Date: Mon, 28 Oct 2024 16:25:58 +0100 Subject: [PATCH] Revert "[runtimes] Allow building against an installed LLVM tree" (#113920) Reverts llvm/llvm-project#86209 This patch breaks running tests locally, which is extremely disruptive to libc++ development. --- compiler-rt/cmake/Modules/AddCompilerRT.cmake | 1 - compiler-rt/test/hwasan/lit.cfg.py | 9 ------ compiler-rt/test/lit.common.configured.in | 1 - runtimes/CMakeLists.txt | 29 +++++++------------ 4 files changed, 10 insertions(+), 30 deletions(-) diff --git a/compiler-rt/cmake/Modules/AddCompilerRT.cmake b/compiler-rt/cmake/Modules/AddCompilerRT.cmake index b2f33d1a961c74..e3d81d241b1054 100644 --- a/compiler-rt/cmake/Modules/AddCompilerRT.cmake +++ b/compiler-rt/cmake/Modules/AddCompilerRT.cmake @@ -773,7 +773,6 @@ function(configure_compiler_rt_lit_site_cfg input output) string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} COMPILER_RT_RESOLVED_TEST_COMPILER ${COMPILER_RT_TEST_COMPILER}) string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} COMPILER_RT_RESOLVED_OUTPUT_DIR ${COMPILER_RT_OUTPUT_DIR}) - string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} COMPILER_RT_RESOLVED_EXEC_OUTPUT_DIR ${COMPILER_RT_EXEC_OUTPUT_DIR}) string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} COMPILER_RT_RESOLVED_LIBRARY_OUTPUT_DIR ${output_dir}) configure_lit_site_cfg(${input} ${output}) diff --git a/compiler-rt/test/hwasan/lit.cfg.py b/compiler-rt/test/hwasan/lit.cfg.py index bbf23e683240ac..594f3294a84ac1 100644 --- a/compiler-rt/test/hwasan/lit.cfg.py +++ b/compiler-rt/test/hwasan/lit.cfg.py @@ -2,9 +2,6 @@ import os -from lit.llvm import llvm_config -from lit.llvm.subst import ToolSubst, FindTool - # Setup config name. config.name = "HWAddressSanitizer" + getattr(config, "name_suffix", "default") @@ -77,12 +74,6 @@ def build_invocation(compile_flags): ("%env_hwasan_opts=", "env HWASAN_OPTIONS=" + default_hwasan_opts_str) ) -# Ensure that we can use hwasan_symbolize from the expected location -llvm_config.add_tool_substitutions( - [ToolSubst("hwasan_symbolize", unresolved="fatal")], - search_dirs=[config.compiler_rt_bindir], -) - # Default test suffixes. config.suffixes = [".c", ".cpp"] diff --git a/compiler-rt/test/lit.common.configured.in b/compiler-rt/test/lit.common.configured.in index 050792b6b26217..66935c358afedd 100644 --- a/compiler-rt/test/lit.common.configured.in +++ b/compiler-rt/test/lit.common.configured.in @@ -28,7 +28,6 @@ set_default("python_executable", "@Python3_EXECUTABLE@") set_default("compiler_rt_debug", @COMPILER_RT_DEBUG_PYBOOL@) set_default("compiler_rt_intercept_libdispatch", @COMPILER_RT_INTERCEPT_LIBDISPATCH_PYBOOL@) set_default("compiler_rt_output_dir", "@COMPILER_RT_RESOLVED_OUTPUT_DIR@") -set_default("compiler_rt_bindir", "@COMPILER_RT_RESOLVED_EXEC_OUTPUT_DIR@") set_default("compiler_rt_libdir", "@COMPILER_RT_RESOLVED_LIBRARY_OUTPUT_DIR@") set_default("emulator", "@COMPILER_RT_EMULATOR@") set_default("asan_shadow_scale", "@COMPILER_RT_ASAN_SHADOW_SCALE@") diff --git a/runtimes/CMakeLists.txt b/runtimes/CMakeLists.txt index 67368dcedb3bf6..830165c799c2ab 100644 --- a/runtimes/CMakeLists.txt +++ b/runtimes/CMakeLists.txt @@ -239,23 +239,6 @@ foreach(entry ${runtimes}) endforeach() if(LLVM_INCLUDE_TESTS) - # If built with the runtimes build (rooted at runtimes/CMakeLists.txt), we - # won't have llvm-lit. If built with the bootstrapping build (rooted at - # llvm/CMakeLists.txt), the top-level llvm CMake invocation already generated - # the llvm-lit script. - if (NOT HAVE_LLVM_LIT) - # Add lit before adding any runtimes since their CMake tests configuration - # might depend on lit being present. - set(LLVM_LIT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin) - add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/llvm-lit - ${CMAKE_CURRENT_BINARY_DIR}/llvm-lit) - # Ensure that the testsuites use the local lit rather than - # ${LLVM_INSTALL_DIR}/bin/llvm-lit (which may not exist if LLVM_BINARY_DIR - # points at an installed LLVM tree rather than a build tree). - get_llvm_lit_path(_base_dir _file_name) - set(LLVM_EXTERNAL_LIT "${_base_dir}/${_file_name}" CACHE STRING "Command used to spawn lit" FORCE) - endif() - set(LIT_ARGS_DEFAULT "-sv --show-xfail --show-unsupported") if (MSVC OR XCODE) set(LIT_ARGS_DEFAULT "${LIT_ARGS_DEFAULT} --no-progress-bar") @@ -289,6 +272,14 @@ if(LLVM_INCLUDE_TESTS) # and we know the total set of lit testsuites. umbrella_lit_testsuite_end(check-runtimes) + if (NOT HAVE_LLVM_LIT) + # If built by manually invoking cmake on this directory, we don't have + # llvm-lit. If invoked via llvm/runtimes, the toplevel llvm cmake + # invocation already generated the llvm-lit script. + add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/llvm-lit + ${CMAKE_CURRENT_BINARY_DIR}/llvm-lit) + endif() + get_property(LLVM_RUNTIMES_LIT_TESTSUITES GLOBAL PROPERTY LLVM_RUNTIMES_LIT_TESTSUITES) string(REPLACE ";" "\n" LLVM_RUNTIMES_LIT_TESTSUITES "${LLVM_RUNTIMES_LIT_TESTSUITES}") file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/lit.tests ${LLVM_RUNTIMES_LIT_TESTSUITES}) @@ -318,10 +309,10 @@ if(SUB_COMPONENTS) if(LLVM_RUNTIMES_TARGET) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Components.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/runtimes/${LLVM_RUNTIMES_TARGET}/Components.cmake) + ${LLVM_BINARY_DIR}/runtimes/${LLVM_RUNTIMES_TARGET}/Components.cmake) else() configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Components.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/runtimes/Components.cmake) + ${LLVM_BINARY_DIR}/runtimes/Components.cmake) endif() endif()