Index: vendor/lldb/dist-release_60/lit/CMakeLists.txt =================================================================== --- vendor/lldb/dist-release_60/lit/CMakeLists.txt (revision 328371) +++ vendor/lldb/dist-release_60/lit/CMakeLists.txt (revision 328372) @@ -1,68 +1,72 @@ set(LLVM_SOURCE_DIR "${LLVM_MAIN_SRC_DIR}") set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}") set(LLVM_BUILD_MODE "%(build_mode)s") set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s") set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/%(build_config)s") set(CLANG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..") set(CLANG_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..") if(BUILD_SHARED_LIBS) set(ENABLE_SHARED 1) else() set(ENABLE_SHARED 0) endif(BUILD_SHARED_LIBS) +# the value is not canonicalized within LLVM +llvm_canonicalize_cmake_booleans( + LLVM_ENABLE_ZLIB) + configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg) configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg ) set(LLDB_TEST_DEPS LLDBUnitTests lldb lldb-test ) if(NOT LLDB_BUILT_STANDALONE) list(APPEND LLDB_TEST_DEPS FileCheck not yaml2obj) endif() # lldb-server is not built on every platform. if (TARGET lldb-server) list(APPEND LLDB_TEST_DEPS lldb-server) endif() if(APPLE) list(APPEND LLDB_TEST_DEPS debugserver) endif() if(TARGET clang) list(APPEND LLDB_TEST_DEPS clang) endif() set(LLDB_TEST_PARAMS lldb_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg ) add_lit_testsuite(check-lldb-lit "Running lldb lit test suite" ${CMAKE_CURRENT_BINARY_DIR} PARAMS lldb_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg lldb_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg DEPENDS ${LLDB_TEST_DEPS} ) set_target_properties(check-lldb-lit PROPERTIES FOLDER "LLDB tests") # If we're building with an in-tree clang, then list clang as a dependency # to run tests. if (TARGET clang) add_dependencies(check-lldb-lit clang) endif() add_lit_testsuites(LLDB ${CMAKE_CURRENT_SOURCE_DIR} PARAMS lldb_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg lldb_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg DEPENDS ${LLDB_TEST_DEPS} ) Index: vendor/lldb/dist-release_60/lit/lit.cfg =================================================================== --- vendor/lldb/dist-release_60/lit/lit.cfg (revision 328371) +++ vendor/lldb/dist-release_60/lit/lit.cfg (revision 328372) @@ -1,160 +1,160 @@ # -*- Python -*- import os import platform import re import subprocess import locale import lit.formats import lit.util def binary_feature(on, feature, off_prefix): return feature if on else off_prefix + feature # Configuration file for the 'lit' test runner. # name: The name of this test suite. config.name = 'lldb' # testFormat: The test format to use to interpret tests. # # For now we require '&&' between commands, until they get globally killed and # the test runner updated. execute_external = (platform.system() != 'Windows' or lit_config.getBashPath() not in [None, ""]) config.test_format = lit.formats.ShTest(execute_external) # suffixes: We only support unit tests config.suffixes = [] # test_source_root: The root path where tests are located. config.test_source_root = os.path.dirname(__file__) # test_exec_root: The root path where tests should be run. config.test_exec_root = os.path.join(config.lldb_obj_root, 'lit') # Tweak the PATH to include the tools dir and the scripts dir. lldb_tools_dir = config.lldb_tools_dir llvm_tools_dir = config.llvm_tools_dir path = os.path.pathsep.join((config.lldb_tools_dir, config.llvm_tools_dir, config.environment['PATH'])) config.environment['PATH'] = path path = os.path.pathsep.join((config.lldb_libs_dir, config.llvm_libs_dir, config.environment.get('LD_LIBRARY_PATH',''))) config.environment['LD_LIBRARY_PATH'] = path # Propagate LLVM_SRC_ROOT into the environment. config.environment['LLVM_SRC_ROOT'] = getattr(config, 'llvm_src_root', '') # Propagate PYTHON_EXECUTABLE into the environment config.environment['PYTHON_EXECUTABLE'] = getattr(config, 'python_executable', '') # Register substitutions config.substitutions.append(('%python', config.python_executable)) debugserver = lit.util.which('debugserver', lldb_tools_dir) lldb = lit.util.which('lldb', lldb_tools_dir) if not os.path.exists(config.cc): config.cc = lit.util.which(config.cc, config.environment['PATH']) if not os.path.exists(config.cxx): config.cxx = lit.util.which(config.cxx, config.environment['PATH']) if platform.system() in ['Darwin']: try: out = subprocess.check_output(['xcrun', '--show-sdk-path']).strip() res = 0 except OSError: res = -1 if res == 0 and out: sdk_path = out lit_config.note('using SDKROOT: %r' % sdk_path) config.cc += " -isysroot %s" % sdk_path config.cxx += " -isysroot %s" % sdk_path config.substitutions.append(('%cc', config.cc)) config.substitutions.append(('%cxx', config.cxx)) config.substitutions.append(('%lldb', lldb)) if debugserver is not None: config.substitutions.append(('%debugserver', debugserver)) for pattern in [r"\bFileCheck\b", r"\blldb-test\b", r"\byaml2obj\b", r"\| \bnot\b"]: tool_match = re.match(r"^(\\)?((\| )?)\W+b([0-9A-Za-z-_]+)\\b\W*$", pattern) tool_pipe = tool_match.group(2) tool_name = tool_match.group(4) - tool_path = lit.util.which(tool_name, config.llvm_tools_dir) + tool_path = lit.util.which(tool_name, config.environment['PATH']) if not tool_path: # Warn, but still provide a substitution. lit_config.note( - 'Did not find ' + tool_name + ' in ' + config.llvm_tools_dir) + 'Did not find ' + tool_name + ' in ' + config.environment['PATH']) config.substitutions.append((pattern, tool_pipe + tool_path)) # Shell execution if platform.system() not in ['Windows'] or lit_config.getBashPath() != '': config.available_features.add('shell') # Running on Darwin OS if platform.system() in ['Darwin']: config.available_features.add('darwin') config.available_features.add('system-linker-mach-o') # Running on ELF based *nix if platform.system() in ['FreeBSD', 'Linux']: config.available_features.add('system-linker-elf') if platform.system() in ['FreeBSD']: config.available_features.add('freebsd') else: config.available_features.add('linux') if platform.system() in ['Windows']: config.available_features.add('windows') if re.match(r'^arm(hf.*-linux)|(.*-linux-gnuabihf)', config.target_triple): config.available_features.add("armhf-linux") if re.match(r'icc', config.cc): config.available_features.add("compiler-icc") elif re.match(r'clang', config.cc): config.available_features.add("compiler-clang") elif re.match(r'gcc', config.cc): config.available_features.add("compiler-gcc") elif re.match(r'cl', config.cc): config.available_features.add("compiler-msvc") config.available_features.add(binary_feature(config.have_zlib, "zlib", "no")) # llvm-config knows whether it is compiled with asserts (and) # whether we are operating in release/debug mode. import subprocess try: llvm_config_cmd = \ subprocess.Popen([os.path.join(llvm_tools_dir, 'llvm-config'), '--build-mode', '--assertion-mode', '--targets-built'], stdout = subprocess.PIPE) except OSError as why: print("Could not find llvm-config in " + llvm_tools_dir) exit(42) llvm_config_output = llvm_config_cmd.stdout.read().decode('utf_8') llvm_config_output_list = llvm_config_output.split("\n") if re.search(r'DEBUG', llvm_config_output_list[0]): config.available_features.add('debug') if re.search(r'ON', llvm_config_output_list[1]): config.available_features.add('asserts') if re.search(r'ARM', llvm_config_output_list[2]): config.available_features.add('arm') if re.search(r'Mips', llvm_config_output_list[2]): config.available_features.add('mips') if re.search(r'X86', llvm_config_output_list[2]): config.available_features.add('x86') llvm_config_cmd.wait() Index: vendor/lldb/dist-release_60/lit/lit.site.cfg.in =================================================================== --- vendor/lldb/dist-release_60/lit/lit.site.cfg.in (revision 328371) +++ vendor/lldb/dist-release_60/lit/lit.site.cfg.in (revision 328372) @@ -1,27 +1,27 @@ @LIT_SITE_CFG_IN_HEADER@ config.llvm_src_root = "@LLVM_SOURCE_DIR@" config.llvm_obj_root = "@LLVM_BINARY_DIR@" config.llvm_tools_dir = "@LLVM_TOOLS_DIR@" config.llvm_libs_dir = "@LLVM_LIBS_DIR@" config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@" config.lldb_obj_root = "@LLDB_BINARY_DIR@" config.lldb_libs_dir = "@LLVM_LIBRARY_OUTPUT_INTDIR@" config.lldb_tools_dir = "@LLVM_RUNTIME_OUTPUT_INTDIR@" config.target_triple = "@TARGET_TRIPLE@" config.python_executable = "@PYTHON_EXECUTABLE@" config.cc = "@LLDB_TEST_C_COMPILER@" config.cxx = "@LLDB_TEST_CXX_COMPILER@" -config.have_zlib = @HAVE_LIBZ@ +config.have_zlib = @LLVM_ENABLE_ZLIB@ # Support substitution of the tools and libs dirs with user parameters. This is # used when we can't determine the tool dir at configuration time. try: config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params except KeyError as e: key, = e.args lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key)) # Let the main config do the real work. lit_config.load_config(config, "@LLDB_SOURCE_DIR@/lit/lit.cfg")