# -*- Python -*-

import lit.util
import lit.formats
import os

use_lit_shell = os.environ.get("LIT_USE_INTERNAL_SHELL")
config.test_format = lit.formats.ShTest(use_lit_shell == "0")

config.substitutions.append(('%exploded_graph_rewriter',
                             '\'%s\' %s --dump-dot-only' % (
                                 config.python_executable,
                                 lit.util.which('exploded-graph-rewriter.py',
                                                os.path.join(
                                                    config.clang_src_dir,
                                                    'utils', 'analyzer')))))

config.suffixes.add('.dot')
