Skip to content

Commit

Permalink
Revert "[runtimes] Allow building against an installed LLVM tree" (#1…
Browse files Browse the repository at this point in the history
…13920)

Reverts #86209

This patch breaks running tests locally, which is extremely disruptive
to libc++ development.
  • Loading branch information
philnik777 authored Oct 28, 2024
1 parent c9f01f6 commit 3ac75ee
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 30 deletions.
1 change: 0 additions & 1 deletion compiler-rt/cmake/Modules/AddCompilerRT.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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})
Expand Down
9 changes: 0 additions & 9 deletions compiler-rt/test/hwasan/lit.cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")

Expand Down Expand Up @@ -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"]

Expand Down
1 change: 0 additions & 1 deletion compiler-rt/test/lit.common.configured.in
Original file line number Diff line number Diff line change
Expand Up @@ -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@")
Expand Down
29 changes: 10 additions & 19 deletions runtimes/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down Expand Up @@ -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})
Expand Down Expand Up @@ -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()

0 comments on commit 3ac75ee

Please sign in to comment.