import sys

## Autogenerated by llbuild configuration.
# Do not edit!
config.llbuild_src_root = "@LLBUILD_SRC_DIR@"
config.llbuild_obj_root = "@LLBUILD_OBJ_DIR@"
config.llbuild_build_mode = "@LLBUILD_BUILD_MODE@"

# Support substitution of the build_mode with user parameters. This is
# used when we can't determine the tool dir at configuration time.
try:
    config.llbuild_build_mode = config.llbuild_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, "@LLBUILD_SRC_DIR@/tests/Unit/lit.cfg")
