2015-03-14 04:55:07 +08:00
|
|
|
# -*- Python -*-
|
|
|
|
|
|
|
|
import os
|
|
|
|
import platform
|
|
|
|
import re
|
|
|
|
import subprocess
|
|
|
|
import locale
|
|
|
|
|
|
|
|
import lit.formats
|
|
|
|
import lit.util
|
|
|
|
|
2017-12-15 22:23:58 +08:00
|
|
|
def binary_feature(on, feature, off_prefix):
|
|
|
|
return feature if on else off_prefix + feature
|
|
|
|
|
2015-03-14 04:55:07 +08:00
|
|
|
# Configuration file for the 'lit' test runner.
|
|
|
|
|
|
|
|
# name: The name of this test suite.
|
|
|
|
config.name = 'lldb'
|
|
|
|
|
|
|
|
# testFormat: The test format to use to interpret tests.
|
|
|
|
#
|
|
|
|
# For now we require '&&' between commands, until they get globally killed and
|
|
|
|
# the test runner updated.
|
|
|
|
execute_external = (platform.system() != 'Windows'
|
|
|
|
or lit_config.getBashPath() not in [None, ""])
|
|
|
|
config.test_format = lit.formats.ShTest(execute_external)
|
|
|
|
|
|
|
|
# suffixes: We only support unit tests
|
|
|
|
config.suffixes = []
|
|
|
|
|
|
|
|
# test_source_root: The root path where tests are located.
|
|
|
|
config.test_source_root = os.path.dirname(__file__)
|
|
|
|
|
|
|
|
# test_exec_root: The root path where tests should be run.
|
2017-09-16 06:10:46 +08:00
|
|
|
config.test_exec_root = os.path.join(config.lldb_obj_root, 'lit')
|
[lit] Force site configs to be run before source-tree configs
This patch simplifies LLVM's lit infrastructure by enforcing an ordering
that a site config is always run before a source-tree config.
A significant amount of the complexity from lit config files arises from
the fact that inside of a source-tree config file, we don't yet know if
the site config has been run. However it is *always* required to run
a site config first, because it passes various variables down through
CMake that the main config depends on. As a result, every config
file has to do a bunch of magic to try to reverse-engineer the location
of the site config file if they detect (heuristically) that the site
config file has not yet been run.
This patch solves the problem by emitting a mapping from source tree
config file to binary tree site config file in llvm-lit.py. Then, during
discovery when we find a config file, we check to see if we have a
target mapping for it, and if so we use that instead.
This mechanism is generic enough that it does not affect external users
of lit. They will just not have a config mapping defined, and everything
will work as normal.
On the other hand, for us it allows us to make many simplifications:
* We are guaranteed that a site config will be executed first
* Inside of a main config, we no longer have to assume that attributes
might not be present and use getattr everywhere.
* We no longer have to pass parameters such as --param llvm_site_config=<path>
on the command line.
* It is future-proof, meaning you don't have to edit llvm-lit.in to add
support for new projects.
* All of the duplicated logic of trying various fallback mechanisms of
finding a site config from the main config are now gone.
One potentially noteworthy thing that was required to implement this
change is that whereas the ninja check targets previously used the first
method to spawn lit, they now use the second. In particular, you can no
longer run lit.py against the source tree while specifying the various
`foo_site_config=<path>` parameters. Instead, you need to run
llvm-lit.py.
Differential Revision: https://reviews.llvm.org/D37756
llvm-svn: 313270
2017-09-15 00:47:58 +08:00
|
|
|
|
2017-09-15 10:56:40 +08:00
|
|
|
# Tweak the PATH to include the tools dir and the scripts dir.
|
2017-09-16 06:10:46 +08:00
|
|
|
lldb_tools_dir = config.lldb_tools_dir
|
|
|
|
llvm_tools_dir = config.llvm_tools_dir
|
|
|
|
path = os.path.pathsep.join((config.lldb_tools_dir, config.llvm_tools_dir, config.environment['PATH']))
|
|
|
|
|
|
|
|
config.environment['PATH'] = path
|
|
|
|
|
|
|
|
path = os.path.pathsep.join((config.lldb_libs_dir, config.llvm_libs_dir,
|
|
|
|
config.environment.get('LD_LIBRARY_PATH','')))
|
|
|
|
config.environment['LD_LIBRARY_PATH'] = path
|
|
|
|
|
|
|
|
# Propagate LLVM_SRC_ROOT into the environment.
|
|
|
|
config.environment['LLVM_SRC_ROOT'] = getattr(config, 'llvm_src_root', '')
|
|
|
|
|
|
|
|
# Propagate PYTHON_EXECUTABLE into the environment
|
|
|
|
config.environment['PYTHON_EXECUTABLE'] = getattr(config, 'python_executable', '')
|
2015-03-14 04:55:07 +08:00
|
|
|
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
# Register substitutions
|
|
|
|
config.substitutions.append(('%python', config.python_executable))
|
|
|
|
|
2017-02-20 06:11:38 +08:00
|
|
|
debugserver = lit.util.which('debugserver', lldb_tools_dir)
|
2018-03-13 04:52:36 +08:00
|
|
|
lldb = "%s -S %s/lit-lldb-init" % (lit.util.which('lldb', lldb_tools_dir),
|
|
|
|
config.test_source_root)
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
|
|
|
|
if not os.path.exists(config.cc):
|
2017-02-20 06:11:38 +08:00
|
|
|
config.cc = lit.util.which(config.cc, config.environment['PATH'])
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
|
|
|
|
if not os.path.exists(config.cxx):
|
2017-02-20 06:11:38 +08:00
|
|
|
config.cxx = lit.util.which(config.cxx, config.environment['PATH'])
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
|
|
|
|
if platform.system() in ['Darwin']:
|
|
|
|
try:
|
2017-07-07 05:46:47 +08:00
|
|
|
out = subprocess.check_output(['xcrun', '--show-sdk-path']).strip()
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
res = 0
|
|
|
|
except OSError:
|
|
|
|
res = -1
|
|
|
|
if res == 0 and out:
|
|
|
|
sdk_path = out
|
|
|
|
lit_config.note('using SDKROOT: %r' % sdk_path)
|
|
|
|
config.cc += " -isysroot %s" % sdk_path
|
|
|
|
config.cxx += " -isysroot %s" % sdk_path
|
|
|
|
|
|
|
|
config.substitutions.append(('%cc', config.cc))
|
|
|
|
config.substitutions.append(('%cxx', config.cxx))
|
|
|
|
|
|
|
|
config.substitutions.append(('%lldb', lldb))
|
2016-10-07 10:26:41 +08:00
|
|
|
|
|
|
|
if debugserver is not None:
|
|
|
|
config.substitutions.append(('%debugserver', debugserver))
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
|
|
|
|
for pattern in [r"\bFileCheck\b",
|
2017-12-15 22:23:58 +08:00
|
|
|
r"\blldb-test\b",
|
|
|
|
r"\byaml2obj\b",
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
r"\| \bnot\b"]:
|
|
|
|
tool_match = re.match(r"^(\\)?((\| )?)\W+b([0-9A-Za-z-_]+)\\b\W*$",
|
|
|
|
pattern)
|
|
|
|
tool_pipe = tool_match.group(2)
|
|
|
|
tool_name = tool_match.group(4)
|
2018-01-06 18:20:25 +08:00
|
|
|
tool_path = lit.util.which(tool_name, config.environment['PATH'])
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
if not tool_path:
|
|
|
|
# Warn, but still provide a substitution.
|
|
|
|
lit_config.note(
|
2018-01-06 18:20:25 +08:00
|
|
|
'Did not find ' + tool_name + ' in ' + config.environment['PATH'])
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
config.substitutions.append((pattern, tool_pipe + tool_path))
|
|
|
|
|
2015-03-14 04:55:07 +08:00
|
|
|
# Shell execution
|
|
|
|
if platform.system() not in ['Windows'] or lit_config.getBashPath() != '':
|
|
|
|
config.available_features.add('shell')
|
|
|
|
|
|
|
|
# Running on Darwin OS
|
|
|
|
if platform.system() in ['Darwin']:
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
config.available_features.add('darwin')
|
2015-03-14 04:55:07 +08:00
|
|
|
config.available_features.add('system-linker-mach-o')
|
|
|
|
|
|
|
|
# Running on ELF based *nix
|
|
|
|
if platform.system() in ['FreeBSD', 'Linux']:
|
|
|
|
config.available_features.add('system-linker-elf')
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
if platform.system() in ['FreeBSD']:
|
|
|
|
config.available_features.add('freebsd')
|
|
|
|
else:
|
|
|
|
config.available_features.add('linux')
|
|
|
|
|
Add "lldb-test breakpoint" command and convert the case-sensitivity test to use it
Summary:
The command takes two input arguments: a module to use as a debug target
and a file containing a list of commands. The command will execute each
of the breakpoint commands in the file and dump the breakpoint state
after each one.
The commands are expected to be breakpoint set/remove/etc. commands, but
I explicitly allow any lldb command here, so you can do things like
change setting which impact breakpoint resolution, etc. There is also a
"-persistent" flag, which causes lldb-test to *not* automatically clear
the breakpoint list after each command. Right now I don't use it, but
the idea behind it was that it could be used to test more complex
combinations of breakpoint commands (set+modify, set+disable, etc.).
Right now the command prints out only the basic breakpoint state, but
more information can be easily added there. To enable easy matching of
the "at least one breakpoint location found" state, the command
explicitly prints out the string "At least one breakpoint location.".
To enable testing of breakpoints set with an absolute paths, I add the
ability to perform rudimentary substitutions on the commands: right now
the string %p is replaced by the directory which contains the command
file (so, under normal circumstances, this will perform the same
substitution as lit would do for %p).
I use this command to rewrite the TestBreakpointCaseSensitivity test --
the test was checking about a dozen breakpoint commands, but it was
launching a new process for each one, so it took about 90 seconds to
run. The new test takes about 0.3 seconds for me, which is approximately
a 300x speedup.
Reviewers: davide, zturner, jingham
Subscribers: luporl, lldb-commits
Differential Revision: https://reviews.llvm.org/D43686
llvm-svn: 326112
2018-02-27 02:50:16 +08:00
|
|
|
config.available_features.add(
|
|
|
|
binary_feature(platform.system() in ['Windows'], 'windows', 'no'))
|
[LIT] First pass of LLDB LIT support
Summary:
This patch supplies basic infrastructure for LLDB to use LIT, and ports a few basic test cases from the LLDB test suite into LIT.
With this patch the LLDB lit system is not capable or intended to fully replace the existing LLDB test suite, but this first patch enables people to write lit tests for LLDB.
The lit substitution for %cc and %cxx default to the host compiler unless the CMake option LLDB_TEST_CLANG is On, in which case the in-tree clang will be used.
The target check-lldb-lit will run all lit tests including the lit-based executor for the unit tests. Alternatively there is a target generated for each subdirectory under the lit directory, so check-lldb-unit and check-lldb-expr will run just the tests under their respective directories.
The ported tests are not removed from the existing suite, and should not be until such a time when the lit runner is mature and in use by bots and workflows.
Reviewers: zturner, labath, jingham, tfiala
Subscribers: beanz, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D24591
llvm-svn: 281651
2016-09-16 04:13:55 +08:00
|
|
|
|
|
|
|
if re.match(r'^arm(hf.*-linux)|(.*-linux-gnuabihf)', config.target_triple):
|
|
|
|
config.available_features.add("armhf-linux")
|
|
|
|
|
|
|
|
if re.match(r'icc', config.cc):
|
|
|
|
config.available_features.add("compiler-icc")
|
|
|
|
elif re.match(r'clang', config.cc):
|
|
|
|
config.available_features.add("compiler-clang")
|
|
|
|
elif re.match(r'gcc', config.cc):
|
|
|
|
config.available_features.add("compiler-gcc")
|
|
|
|
elif re.match(r'cl', config.cc):
|
|
|
|
config.available_features.add("compiler-msvc")
|
2015-03-14 04:55:07 +08:00
|
|
|
|
2017-12-15 22:23:58 +08:00
|
|
|
config.available_features.add(binary_feature(config.have_zlib, "zlib", "no"))
|
|
|
|
|
2015-03-14 04:55:07 +08:00
|
|
|
# llvm-config knows whether it is compiled with asserts (and)
|
|
|
|
# whether we are operating in release/debug mode.
|
|
|
|
import subprocess
|
|
|
|
try:
|
|
|
|
llvm_config_cmd = \
|
|
|
|
subprocess.Popen([os.path.join(llvm_tools_dir, 'llvm-config'),
|
|
|
|
'--build-mode', '--assertion-mode', '--targets-built'],
|
|
|
|
stdout = subprocess.PIPE)
|
|
|
|
except OSError as why:
|
|
|
|
print("Could not find llvm-config in " + llvm_tools_dir)
|
|
|
|
exit(42)
|
|
|
|
|
|
|
|
llvm_config_output = llvm_config_cmd.stdout.read().decode('utf_8')
|
|
|
|
llvm_config_output_list = llvm_config_output.split("\n")
|
|
|
|
|
|
|
|
if re.search(r'DEBUG', llvm_config_output_list[0]):
|
|
|
|
config.available_features.add('debug')
|
|
|
|
if re.search(r'ON', llvm_config_output_list[1]):
|
|
|
|
config.available_features.add('asserts')
|
|
|
|
if re.search(r'ARM', llvm_config_output_list[2]):
|
|
|
|
config.available_features.add('arm')
|
|
|
|
if re.search(r'Mips', llvm_config_output_list[2]):
|
|
|
|
config.available_features.add('mips')
|
2018-03-13 05:17:04 +08:00
|
|
|
if re.search(r'PowerPC', llvm_config_output_list[2]):
|
|
|
|
config.available_features.add('powerpc')
|
2015-03-14 04:55:07 +08:00
|
|
|
if re.search(r'X86', llvm_config_output_list[2]):
|
|
|
|
config.available_features.add('x86')
|
|
|
|
llvm_config_cmd.wait()
|