xref: /aosp_15_r20/external/llvm/utils/llvm-lit/llvm-lit.in (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker#!/usr/bin/env python
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerimport os
4*9880d681SAndroid Build Coastguard Workerimport sys
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker# Variables configured at build time.
7*9880d681SAndroid Build Coastguard Workerllvm_source_root = "@LLVM_SOURCE_DIR@"
8*9880d681SAndroid Build Coastguard Workerllvm_obj_root = "@LLVM_BINARY_DIR@"
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker# Make sure we can find the lit package.
11*9880d681SAndroid Build Coastguard Workersys.path.insert(0, os.path.join(llvm_source_root, 'utils', 'lit'))
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker# Set up some builtin parameters, so that by default the LLVM test suite
14*9880d681SAndroid Build Coastguard Worker# configuration file knows how to find the object tree.
15*9880d681SAndroid Build Coastguard Workerbuiltin_parameters = {
16*9880d681SAndroid Build Coastguard Worker    'build_mode' : "@BUILD_MODE@",
17*9880d681SAndroid Build Coastguard Worker    'llvm_site_config' : os.path.join(llvm_obj_root, 'test', 'lit.site.cfg'),
18*9880d681SAndroid Build Coastguard Worker    'llvm_unit_site_config' : os.path.join(llvm_obj_root, 'test', 'Unit',
19*9880d681SAndroid Build Coastguard Worker                                           'lit.site.cfg')
20*9880d681SAndroid Build Coastguard Worker    }
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Workerclang_obj_root = os.path.join(llvm_obj_root, 'tools', 'clang')
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Workerif os.path.exists(clang_obj_root):
25*9880d681SAndroid Build Coastguard Worker    builtin_parameters['clang_site_config'] = \
26*9880d681SAndroid Build Coastguard Worker        os.path.join(clang_obj_root, 'test', 'lit.site.cfg')
27*9880d681SAndroid Build Coastguard Worker    clang_tools_extra_obj_root = os.path.join(clang_obj_root, 'tools', 'extra')
28*9880d681SAndroid Build Coastguard Worker    if os.path.exists(clang_tools_extra_obj_root):
29*9880d681SAndroid Build Coastguard Worker        builtin_parameters['clang_tools_extra_site_config'] = \
30*9880d681SAndroid Build Coastguard Worker            os.path.join(clang_tools_extra_obj_root, 'test', 'lit.site.cfg')
31*9880d681SAndroid Build Coastguard Worker
32*9880d681SAndroid Build Coastguard Workerlld_obj_root = os.path.join(llvm_obj_root, 'tools', 'lld')
33*9880d681SAndroid Build Coastguard Workerif os.path.exists(lld_obj_root):
34*9880d681SAndroid Build Coastguard Worker    builtin_parameters['lld_site_config'] = \
35*9880d681SAndroid Build Coastguard Worker        os.path.join(lld_obj_root, 'test', 'lit.site.cfg')
36*9880d681SAndroid Build Coastguard Worker
37*9880d681SAndroid Build Coastguard Workercompilerrt_obj_root = os.path.join(llvm_obj_root, 'projects', 'compiler-rt')
38*9880d681SAndroid Build Coastguard Workerif os.path.exists(compilerrt_obj_root):
39*9880d681SAndroid Build Coastguard Worker    builtin_parameters['compilerrt_site_basedir'] = \
40*9880d681SAndroid Build Coastguard Worker            os.path.join(compilerrt_obj_root, 'test')
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Workerif __name__=='__main__':
43*9880d681SAndroid Build Coastguard Worker    import lit
44*9880d681SAndroid Build Coastguard Worker    lit.main(builtin_parameters)
45