57ee624d79
CLANG_TOOLS_DIR holds the the current bin/ directory, maybe with a %(build_mode)
placeholder. It is used to add the just-built binaries to $PATH for lit tests.
In most cases it equals LLVM_TOOLS_DIR, which is used for the same purpose.
But for a standalone build of clang, CLANG_TOOLS_DIR points at the build tree
and LLVM_TOOLS_DIR points at the provided LLVM binaries.
Currently CLANG_TOOLS_DIR is set in clang/test/, clang-tools-extra/test/, and
other things always built with clang. This is a few cryptic lines of CMake in
each place. Meanwhile LLVM_TOOLS_DIR is provided by configure_site_lit_cfg().
This patch moves CLANG_TOOLS_DIR to configure_site_lit_cfg() and renames it:
- there's nothing clang-specific about the value
- it will also replace LLD_TOOLS_DIR, LLDB_TOOLS_DIR etc (not in this patch)
It also defines CURRENT_LIBS_DIR. While I removed the last usage of
CLANG_LIBS_DIR in e4cab4e24d
, there are LLD_LIBS_DIR usages etc that
may be live, and I'd like to mechanically update them in a followup patch.
Differential Revision: https://reviews.llvm.org/D121763
25 lines
1 KiB
Python
25 lines
1 KiB
Python
@LIT_SITE_CFG_IN_HEADER@
|
|
|
|
import sys
|
|
|
|
config.llvm_plugin_ext = "@LLVM_PLUGIN_EXT@"
|
|
config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
|
|
config.clang_tools_binary_dir = "@CLANG_TOOLS_BINARY_DIR@"
|
|
config.llvm_shlib_dir = "@SHLIBDIR@"
|
|
config.python_executable = "@Python3_EXECUTABLE@"
|
|
config.target_triple = "@LLVM_TARGET_TRIPLE@"
|
|
config.host_triple = "@LLVM_HOST_TRIPLE@"
|
|
config.clang_tidy_staticanalyzer = @CLANG_TIDY_ENABLE_STATIC_ANALYZER@
|
|
config.has_plugins = @CLANG_PLUGIN_SUPPORT@ & ~@LLVM_INSTALL_TOOLCHAIN_ONLY@
|
|
# 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.
|
|
config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@")
|
|
config.llvm_libs_dir = lit_config.substitute("@LLVM_LIBS_DIR@")
|
|
config.clang_tools_dir = lit_config.substitute("@CURRENT_TOOLS_DIR@")
|
|
|
|
import lit.llvm
|
|
lit.llvm.initialize(lit_config, config)
|
|
|
|
# Let the main config do the real work.
|
|
lit_config.load_config(config, "@CLANG_TOOLS_SOURCE_DIR@/test/lit.cfg.py")
|