forked from OSchip/llvm-project
Add detection of OS X relocatable SDK to compiler-rt as a lit.util function
Clang's lit cfg already detects the currently selected SDK via "xcrun --show-sdk-path". The same thing should be done for compiler-rt tests, to make them work on recent OS X versions. Instead of duplicating the detection code, this patch extracts the detection function into a lit.util method. Patch by Kuba Brecka (kuba.brecka@gmail.com), reviewed at http://reviews.llvm.org/D4072 llvm-svn: 210534
This commit is contained in:
parent
9cc3ebdd3b
commit
14f8ac04e3
|
@ -471,18 +471,4 @@ gmalloc_path_str = lit_config.params.get('gmalloc_path',
|
|||
if use_gmalloc:
|
||||
config.environment.update({'DYLD_INSERT_LIBRARIES' : gmalloc_path_str})
|
||||
|
||||
# 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)
|
||||
config.environment['SDKROOT'] = sdk_path
|
||||
lit.util.usePlatformSdkOnDarwin(config, lit_config)
|
||||
|
|
|
@ -7,6 +7,7 @@ import os
|
|||
import platform
|
||||
|
||||
import lit.formats
|
||||
import lit.util
|
||||
|
||||
# Setup test format
|
||||
execute_external = (platform.system() != 'Windows'
|
||||
|
@ -77,3 +78,5 @@ if compiler_rt_arch:
|
|||
compiler_rt_debug = getattr(config, 'compiler_rt_debug', False)
|
||||
if not compiler_rt_debug:
|
||||
config.available_features.add('compiler-rt-optimized')
|
||||
|
||||
lit.util.usePlatformSdkOnDarwin(config, lit_config)
|
||||
|
|
|
@ -167,3 +167,20 @@ def executeCommand(command, cwd=None, env=None):
|
|||
err = str(err)
|
||||
|
||||
return out, err, exitCode
|
||||
|
||||
def usePlatformSdkOnDarwin(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)
|
||||
config.environment['SDKROOT'] = sdk_path
|
||||
|
|
Loading…
Reference in New Issue