[Darwin] Need to add -isysroot on OS X otherwise the tests will fail if you don't have the command line tools package installed.
This mirrors how other LLVM suites are configured for running on OS X. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@250003 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cb23a49e40
commit
bf64c23851
@ -6,6 +6,7 @@ import pkgutil
|
|||||||
import re
|
import re
|
||||||
import shlex
|
import shlex
|
||||||
import sys
|
import sys
|
||||||
|
import subprocess
|
||||||
|
|
||||||
import lit.Test # pylint: disable=import-error,no-name-in-module
|
import lit.Test # pylint: disable=import-error,no-name-in-module
|
||||||
import lit.util # pylint: disable=import-error,no-name-in-module
|
import lit.util # pylint: disable=import-error,no-name-in-module
|
||||||
@ -42,6 +43,24 @@ def loadSiteConfig(lit_config, config, param_name, env_name):
|
|||||||
ld_fn(config, site_cfg)
|
ld_fn(config, site_cfg)
|
||||||
lit_config.load_config = ld_fn
|
lit_config.load_config = ld_fn
|
||||||
|
|
||||||
|
def getSysrootFlagsOnDarwin(config, lit_config):
|
||||||
|
# On Darwin, support relocatable SDKs by providing Clang with a
|
||||||
|
# default system root path.
|
||||||
|
if 'darwin' in config.target_triple:
|
||||||
|
try:
|
||||||
|
cmd = subprocess.Popen(['xcrun', '--show-sdk-path'],
|
||||||
|
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
|
out, err = cmd.communicate()
|
||||||
|
out = out.strip()
|
||||||
|
res = cmd.wait()
|
||||||
|
except OSError:
|
||||||
|
res = -1
|
||||||
|
if res == 0 and out:
|
||||||
|
sdk_path = out
|
||||||
|
lit_config.note('using SDKROOT: %r' % sdk_path)
|
||||||
|
return ["-isysroot", sdk_path]
|
||||||
|
return []
|
||||||
|
|
||||||
|
|
||||||
class Configuration(object):
|
class Configuration(object):
|
||||||
# pylint: disable=redefined-outer-name
|
# pylint: disable=redefined-outer-name
|
||||||
@ -339,6 +358,8 @@ class Configuration(object):
|
|||||||
# Configure extra flags
|
# Configure extra flags
|
||||||
compile_flags_str = self.get_lit_conf('compile_flags', '')
|
compile_flags_str = self.get_lit_conf('compile_flags', '')
|
||||||
self.cxx.compile_flags += shlex.split(compile_flags_str)
|
self.cxx.compile_flags += shlex.split(compile_flags_str)
|
||||||
|
sysroot_flags = getSysrootFlagsOnDarwin(self.config, self.lit_config)
|
||||||
|
self.cxx.compile_flags.extend(sysroot_flags)
|
||||||
|
|
||||||
def configure_default_compile_flags(self):
|
def configure_default_compile_flags(self):
|
||||||
# Try and get the std version from the command line. Fall back to
|
# Try and get the std version from the command line. Fall back to
|
||||||
|
Loading…
Reference in New Issue
Block a user