mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-18 05:18:43 +00:00
[lldb] Pass CMAKE_SYSROOT through to LLDB shell tests
This allows the LLDB Shell tests to succeed in (e.g. CI) environments where system libraries are provided hermetically as a sysroot. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D151269
This commit is contained in:
parent
e892193cc8
commit
b22965df13
@ -73,6 +73,14 @@ parser.add_argument(
|
||||
help="Include and link GNUstep libobjc2 (Windows and Linux only)",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--sysroot",
|
||||
metavar="directory",
|
||||
dest="sysroot",
|
||||
required=False,
|
||||
help="If specified, a sysroot to be passed via --sysroot",
|
||||
)
|
||||
|
||||
if sys.platform == "darwin":
|
||||
parser.add_argument(
|
||||
"--apple-sdk",
|
||||
@ -305,6 +313,7 @@ class Builder(object):
|
||||
if args.objc_gnustep_dir
|
||||
else None
|
||||
)
|
||||
self.sysroot = args.sysroot
|
||||
|
||||
def _exe_file_name(self):
|
||||
assert self.mode != "compile"
|
||||
@ -761,6 +770,8 @@ class GccBuilder(Builder):
|
||||
args.extend(
|
||||
["-Xclang", "-gcodeview", "-Xclang", "--dependent-lib=msvcrtd"]
|
||||
)
|
||||
elif self.sysroot:
|
||||
args.extend(["--sysroot", self.sysroot])
|
||||
|
||||
if self.std:
|
||||
args.append("-std={0}".format(self.std))
|
||||
@ -797,6 +808,8 @@ class GccBuilder(Builder):
|
||||
args.extend(
|
||||
["-fuse-ld=lld-link", "-g", "-Xclang", "--dependent-lib=msvcrtd"]
|
||||
)
|
||||
elif self.sysroot:
|
||||
args.extend(["--sysroot", self.sysroot])
|
||||
|
||||
return ("linking", self._obj_file_names(), self._exe_file_name(), None, args)
|
||||
|
||||
|
@ -47,6 +47,8 @@ def use_lldb_substitutions(config):
|
||||
build_script_args.append(
|
||||
'--objc-gnustep-dir="{0}"'.format(config.objc_gnustep_dir)
|
||||
)
|
||||
if config.cmake_sysroot:
|
||||
build_script_args.append("--sysroot={0}".format(config.cmake_sysroot))
|
||||
|
||||
lldb_init = _get_lldb_init_path(config)
|
||||
|
||||
@ -160,6 +162,9 @@ def use_support_substitutions(config):
|
||||
# The clang module cache is used for building inferiors.
|
||||
host_flags += ["-fmodules-cache-path={}".format(config.clang_module_cache)]
|
||||
|
||||
if config.cmake_sysroot:
|
||||
host_flags += ["--sysroot={}".format(config.cmake_sysroot)]
|
||||
|
||||
host_flags = " ".join(host_flags)
|
||||
config.substitutions.append(("%clang_host", "%clang " + host_flags))
|
||||
config.substitutions.append(("%clangxx_host", "%clangxx " + host_flags))
|
||||
|
@ -13,6 +13,7 @@ config.lldb_tools_dir = lit_config.substitute("@LLDB_TOOLS_DIR@")
|
||||
# Since it comes from the command line, it may have backslashes which
|
||||
# should not need to be escaped.
|
||||
config.lldb_lit_tools_dir = lit_config.substitute(r"@LLDB_LIT_TOOLS_DIR@")
|
||||
config.cmake_sysroot = lit_config.substitute("@CMAKE_SYSROOT@")
|
||||
config.target_triple = "@LLVM_TARGET_TRIPLE@"
|
||||
config.python_executable = "@Python3_EXECUTABLE@"
|
||||
config.have_zlib = @LLVM_ENABLE_ZLIB@
|
||||
|
Loading…
Reference in New Issue
Block a user