diff options
Diffstat (limited to 'lit/helper/toolchain.py')
-rw-r--r-- | lit/helper/toolchain.py | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/lit/helper/toolchain.py b/lit/helper/toolchain.py deleted file mode 100644 index 938f343badcc..000000000000 --- a/lit/helper/toolchain.py +++ /dev/null @@ -1,122 +0,0 @@ -import os -import itertools -import platform -import subprocess -import sys - -import lit.util -from lit.llvm import llvm_config -from lit.llvm.subst import FindTool -from lit.llvm.subst import ToolSubst - -def use_lldb_substitutions(config): - # Set up substitutions for primary tools. These tools must come from config.lldb_tools_dir - # which is basically the build output directory. We do not want to find these in path or - # anywhere else, since they are specifically the programs which are actually being tested. - - dsname = 'debugserver' if platform.system() in ['Darwin'] else 'lldb-server' - dsargs = [] if platform.system() in ['Darwin'] else ['gdbserver'] - lldbmi = ToolSubst('%lldbmi', - command=FindTool('lldb-mi'), - extra_args=['--synchronous'], - unresolved='ignore') - - - build_script = os.path.dirname(__file__) - build_script = os.path.join(build_script, 'build.py') - build_script_args = [build_script, - '--compiler=any', # Default to best compiler - '--arch=' + str(config.lldb_bitness)] - if config.lldb_lit_tools_dir: - build_script_args.append('--tools-dir={0}'.format(config.lldb_lit_tools_dir)) - if config.lldb_tools_dir: - build_script_args.append('--tools-dir={0}'.format(config.lldb_tools_dir)) - - primary_tools = [ - ToolSubst('%lldb', - command=FindTool('lldb'), - extra_args=['-S', - os.path.join(config.test_source_root, - 'lit-lldb-init')]), - lldbmi, - ToolSubst('%debugserver', - command=FindTool(dsname), - extra_args=dsargs, - unresolved='ignore'), - 'lldb-test', - ToolSubst('%build', - command="'" + sys.executable + "'", - extra_args=build_script_args) - ] - - llvm_config.add_tool_substitutions(primary_tools, - [config.lldb_tools_dir]) - if lldbmi.was_resolved: - config.available_features.add('lldb-mi') - -def _use_msvc_substitutions(config): - # If running from a Visual Studio Command prompt (e.g. vcvars), this will - # detect the include and lib paths, and find cl.exe and link.exe and create - # substitutions for each of them that explicitly specify /I and /L paths - cl = lit.util.which('cl') - link = lit.util.which('link') - - if not cl or not link: - return - - cl = '"' + cl + '"' - link = '"' + link + '"' - includes = os.getenv('INCLUDE', '').split(';') - libs = os.getenv('LIB', '').split(';') - - config.available_features.add('msvc') - compiler_flags = ['"/I{}"'.format(x) for x in includes if os.path.exists(x)] - linker_flags = ['"/LIBPATH:{}"'.format(x) for x in libs if os.path.exists(x)] - - tools = [ - ToolSubst('%msvc_cl', command=cl, extra_args=compiler_flags), - ToolSubst('%msvc_link', command=link, extra_args=linker_flags)] - llvm_config.add_tool_substitutions(tools) - return - -def use_support_substitutions(config): - # Set up substitutions for support tools. These tools can be overridden at the CMake - # level (by specifying -DLLDB_LIT_TOOLS_DIR), installed, or as a last resort, we can use - # the just-built version. - flags = [] - if platform.system() in ['Darwin']: - try: - out = subprocess.check_output(['xcrun', '--show-sdk-path']).strip() - res = 0 - except OSError: - res = -1 - if res == 0 and out: - sdk_path = lit.util.to_string(out) - llvm_config.lit_config.note('using SDKROOT: %r' % sdk_path) - flags = ['-isysroot', sdk_path] - elif platform.system() in ['OpenBSD', 'Linux']: - flags = ['-pthread'] - - - additional_tool_dirs=[] - if config.lldb_lit_tools_dir: - additional_tool_dirs.append(config.lldb_lit_tools_dir) - - llvm_config.use_clang(additional_flags=flags, - additional_tool_dirs=additional_tool_dirs, - required=True) - - if sys.platform == 'win32': - _use_msvc_substitutions(config) - - have_lld = llvm_config.use_lld(additional_tool_dirs=additional_tool_dirs, - required=False) - if have_lld: - config.available_features.add('lld') - - - support_tools = ['yaml2obj', 'obj2yaml', 'llvm-pdbutil', - 'llvm-mc', 'llvm-readobj', 'llvm-objdump', - 'llvm-objcopy'] - additional_tool_dirs += [config.lldb_tools_dir, config.llvm_tools_dir] - llvm_config.add_tool_substitutions(support_tools, additional_tool_dirs) |