forked from OSchip/llvm-project
[lit] add lit_config.substitute to interpolate lit_config.params
A version of this logic appears in ~every lit.site.cfg.in (28 copies total). This patch just removes two, but I'll update the rest of llvm-project next. Differential Revision: https://reviews.llvm.org/D121427
This commit is contained in:
parent
583223cd5e
commit
fa1019fa18
|
@ -2,24 +2,15 @@
|
|||
|
||||
# Variables needed for common clang config.
|
||||
config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
|
||||
config.clang_tools_dir = "@CLANG_TOOLS_DIR@"
|
||||
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
||||
config.clang_libs_dir = "@CLANG_LIBS_DIR@"
|
||||
config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
|
||||
config.target_triple = "@LLVM_TARGET_TRIPLE@"
|
||||
config.host_triple = "@LLVM_HOST_TRIPLE@"
|
||||
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.
|
||||
try:
|
||||
config.clang_tools_dir = config.clang_tools_dir % lit_config.params
|
||||
config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
|
||||
config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params
|
||||
except KeyError:
|
||||
e = sys.exc_info()[1]
|
||||
key, = e.args
|
||||
lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key))
|
||||
config.clang_tools_dir = lit_config.substitute("@CLANG_TOOLS_DIR@")
|
||||
config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@")
|
||||
config.llvm_libs_dir = lit_config.substitute("@LLVM_LIBS_DIR@")
|
||||
|
||||
config.clangd_source_dir = "@CMAKE_CURRENT_SOURCE_DIR@/.."
|
||||
config.clangd_binary_dir = "@CMAKE_CURRENT_BINARY_DIR@/.."
|
||||
|
|
|
@ -2,28 +2,19 @@
|
|||
|
||||
import sys
|
||||
|
||||
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
||||
config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
|
||||
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.clang_tools_dir = "@CLANG_TOOLS_DIR@"
|
||||
config.clang_libs_dir = "@SHLIBDIR@"
|
||||
config.python_executable = "@Python3_EXECUTABLE@"
|
||||
config.target_triple = "@LLVM_TARGET_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.
|
||||
try:
|
||||
config.clang_tools_dir = config.clang_tools_dir % lit_config.params
|
||||
config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
|
||||
config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params
|
||||
except KeyError:
|
||||
e = sys.exc_info()[1]
|
||||
key, = e.args
|
||||
lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key))
|
||||
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("@CLANG_TOOLS_DIR@")
|
||||
|
||||
import lit.llvm
|
||||
lit.llvm.initialize(lit_config, config)
|
||||
|
|
|
@ -175,6 +175,15 @@ class LitConfig(object):
|
|||
# output.
|
||||
sys.stderr.flush()
|
||||
|
||||
def substitute(self, string):
|
||||
"""substitute - Interpolate params into a string"""
|
||||
try:
|
||||
return string % self.params
|
||||
except KeyError as e:
|
||||
key, = e.args
|
||||
self.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (
|
||||
key,key))
|
||||
|
||||
def note(self, message):
|
||||
if not self.quiet:
|
||||
self._write_message('note', message)
|
||||
|
|
Loading…
Reference in New Issue