summaryrefslogtreecommitdiff
path: root/lit/helper/toolchain.py
diff options
context:
space:
mode:
Diffstat (limited to 'lit/helper/toolchain.py')
-rw-r--r--lit/helper/toolchain.py122
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)