summaryrefslogtreecommitdiffstats
path: root/test/lit.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'test/lit.cfg')
-rw-r--r--test/lit.cfg22
1 files changed, 8 insertions, 14 deletions
diff --git a/test/lit.cfg b/test/lit.cfg
index f444b2fb92..2422ad0903 100644
--- a/test/lit.cfg
+++ b/test/lit.cfg
@@ -148,25 +148,19 @@ if not lit.quiet:
# Note that when substituting %clang_cc1 also fill in the include directory of
# the builtin headers. Those are part of even a freestanding environment, but
# Clang relies on the driver to locate them.
-def getClangVersion(clang):
+def getClangBuiltinIncludeDir(clang):
# FIXME: Rather than just getting the version, we should have clang print
# out its resource dir here in an easy to scrape form.
- cmd = subprocess.Popen([clang, '-v'], stderr=subprocess.PIPE)
+ cmd = subprocess.Popen([clang, '-print-file-name=include'],
+ stdout=subprocess.PIPE)
+ if not cmd.stdout:
+ lit.fatal("Couldn't find the include dir for Clang ('%s')" % clang)
+ return cmd.stdout.read().strip()
- for line in cmd.stderr:
- m = re.match( r'^clang version ([^ ]+) ', line)
- if m is not None:
- return m.group(1)
-
- lit.fatal("Couldn't find the version of Clang ('%s')" % clang)
-
-clang_directory = os.path.dirname(os.path.realpath(config.clang))
-clang_builtin_includes = os.path.join(os.path.dirname(clang_directory),
- 'lib', 'clang',
- getClangVersion(config.clang), 'include')
config.substitutions.append( ('%clang_cc1',
'%s -cc1 -internal-nosysroot-isystem %s'
- % (config.clang, clang_builtin_includes)) )
+ % (config.clang,
+ getClangBuiltinIncludeDir(config.clang))) )
config.substitutions.append( ('%clangxx', ' ' + config.clang +
' -ccc-clang-cxx -ccc-cxx '))