@LIT_SITE_CFG_IN_HEADER@

import sys

config.llvm_src_root = path("@LLVM_SOURCE_DIR@")
config.llvm_obj_root = path("@LLVM_BINARY_DIR@")
config.llvm_tools_dir = path("@LLVM_TOOLS_DIR@")
config.llvm_libs_dir = path("@LLVM_LIBS_DIR@")
config.llvm_build_mode = "@LLVM_BUILD_MODE@"
config.clang_obj_root = path("@CLANG_BINARY_DIR@")
config.enable_shared = @ENABLE_SHARED@
config.shlibdir = path("@SHLIBDIR@")
config.target_triple = "@TARGET_TRIPLE@"

# Support substitution of the tools_dir, libs_dirs, and build_mode with user
# parameters. This is used when we can't determine the tool dir at
# configuration time.
try:
    config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
    config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params
    config.llvm_build_mode = config.llvm_build_mode % 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))

# Let the main config do the real work.
lit_config.load_config(
    config, os.path.join(path("@CLANG_SOURCE_DIR@"), "test/Unit/lit.cfg.py"))
