Reland "Make llvm_source_root in llvm-lit relative too."

This reverts commit 3185881d69
and adds a missing "include(AddLLVM)" (similar lines already
exist elsewhere in compiler-rt).
This commit is contained in:
Nico Weber 2020-04-06 20:38:26 -04:00
parent 3775be2d8e
commit e613f0ee8d
3 changed files with 11 additions and 9 deletions

View File

@ -529,6 +529,8 @@ if(COMPILER_RT_INCLUDE_TESTS)
# The user can still choose to have the check targets *use* a different lit
# by specifying -DLLVM_EXTERNAL_LIT, but we generate it regardless.
if (EXISTS ${LLVM_MAIN_SRC_DIR}/utils/llvm-lit)
# Needed for lit support in standalone builds.
include(AddLLVM)
add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/llvm-lit ${CMAKE_CURRENT_BINARY_DIR}/llvm-lit)
elseif(NOT EXISTS ${LLVM_EXTERNAL_LIT})
message(WARNING "Could not find LLVM source directory and LLVM_EXTERNAL_LIT does not"

View File

@ -4,12 +4,16 @@ math(EXPR file_last "${file_len} - 1")
get_llvm_lit_path(LIT_BASE_DIR LIT_FILE_NAME)
set(LLVM_SOURCE_DIR ${LLVM_MAIN_SRC_DIR})
# LLVM_LIT_CONFIG_FILES contains interleaved main config (in the source tree)
# and site config (in the build tree) pairs. Make them relative to
# llvm-lit and then convert them to map_config() calls.
if("${CMAKE_CFG_INTDIR}" STREQUAL ".")
make_paths_relative(
LLVM_LIT_CONFIG_FILES "${LIT_BASE_DIR}" "${LLVM_LIT_CONFIG_FILES}")
LLVM_LIT_CONFIG_FILES "${LIT_BASE_DIR}" "${LLVM_LIT_CONFIG_FILES}")
make_paths_relative(
LLVM_SOURCE_DIR "${LIT_BASE_DIR}" "${LLVM_SOURCE_DIR}")
endif()
set(LLVM_LIT_CONFIG_MAP "${LLVM_LIT_PATH_FUNCTION}\n")
@ -23,8 +27,6 @@ if (${file_last} GREATER -1)
endforeach()
endif()
set(LLVM_SOURCE_DIR ${LLVM_MAIN_SRC_DIR})
if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
foreach(BUILD_MODE ${CMAKE_CONFIGURATION_TYPES})
string(REPLACE ${CMAKE_CFG_INTDIR} ${BUILD_MODE} bi ${LIT_BASE_DIR})

View File

@ -13,12 +13,6 @@ def map_config(source_dir, site_config):
site_config = os.path.normpath(site_config)
config_map[source_dir] = site_config
# Variables configured at build time.
llvm_source_root = "@LLVM_SOURCE_DIR@"
# Make sure we can find the lit package.
sys.path.insert(0, os.path.join(llvm_source_root, 'utils', 'lit'))
# Set up some builtin parameters, so that by default the LLVM test suite
# configuration file knows how to find the object tree.
builtin_parameters = { 'build_mode' : "@BUILD_MODE@" }
@ -27,6 +21,10 @@ builtin_parameters = { 'build_mode' : "@BUILD_MODE@" }
builtin_parameters['config_map'] = config_map
# Make sure we can find the lit package.
llvm_source_root = path("@LLVM_SOURCE_DIR@")
sys.path.insert(0, os.path.join(llvm_source_root, 'utils', 'lit'))
if __name__=='__main__':
from lit.main import main
main(builtin_parameters)