import sys
import os

aosp_dir = os.getenv("ANDROID_BUILD_TOP")

## Autogenerated by LLVM/Clang configuration.
# Do not edit!
config.llvm_src_root = aosp_dir + "/external/llvm"
config.llvm_obj_root = aosp_dir + "/out/host/linux-x86/obj/test_llvm"
config.llvm_tools_dir = aosp_dir + "/out/host/linux-x86/bin"
config.llvm_build_mode = "Release"
config.enable_shared = 0
config.shlibdir = aosp_dir + "/out/host/linux-x86/lib"

# Support substitution of the tools_dir 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_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, aosp_dir + "/external/llvm/test/Unit/lit.cfg")
