diff options
Diffstat (limited to 'test/lit.cfg')
-rw-r--r-- | test/lit.cfg | 22 |
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 ')) |