# -*- Python -*-

# Site specific configuration file.
#
# Typically this will be generated by the build system to automatically set
# certain configuration variables which cannot be autodetected, so that 'lit'
# can easily be used on the command line.

import os

# Preserve the obj_root, for use by the main lit.cfg.
config.example_obj_root = os.path.dirname(__file__)

lit.load_config(config, os.path.join(config.test_source_root,
                                     'lit.cfg'))
