Index: vendor/lldb/dist-release_80/cmake/modules/AddLLDB.cmake =================================================================== --- vendor/lldb/dist-release_80/cmake/modules/AddLLDB.cmake (revision 343803) +++ vendor/lldb/dist-release_80/cmake/modules/AddLLDB.cmake (revision 343804) @@ -1,187 +1,189 @@ function(add_lldb_library name) # only supported parameters to this macro are the optional # MODULE;SHARED;STATIC library type and source files cmake_parse_arguments(PARAM "MODULE;SHARED;STATIC;OBJECT;PLUGIN" "" "EXTRA_CXXFLAGS;DEPENDS;LINK_LIBS;LINK_COMPONENTS" ${ARGN}) llvm_process_sources(srcs ${PARAM_UNPARSED_ARGUMENTS}) list(APPEND LLVM_LINK_COMPONENTS ${PARAM_LINK_COMPONENTS}) if(PARAM_PLUGIN) set_property(GLOBAL APPEND PROPERTY LLDB_PLUGINS ${name}) endif() if (MSVC_IDE OR XCODE) string(REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR}) list(GET split_path -1 dir) file(GLOB_RECURSE headers ../../include/lldb${dir}/*.h) set(srcs ${srcs} ${headers}) endif() if (PARAM_MODULE) set(libkind MODULE) elseif (PARAM_SHARED) set(libkind SHARED) elseif (PARAM_OBJECT) set(libkind OBJECT) else () # PARAM_STATIC or library type unspecified. BUILD_SHARED_LIBS # does not control the kind of libraries created for LLDB, # only whether or not they link to shared/static LLVM/Clang # libraries. set(libkind STATIC) endif() #PIC not needed on Win # FIXME: Setting CMAKE_CXX_FLAGS here is a no-op, use target_compile_options # or omit this logic instead. if (NOT WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") endif() if (PARAM_OBJECT) add_library(${name} ${libkind} ${srcs}) else() if(LLDB_NO_INSTALL_DEFAULT_RPATH) set(pass_NO_INSTALL_RPATH NO_INSTALL_RPATH) endif() llvm_add_library(${name} ${libkind} ${srcs} LINK_LIBS ${PARAM_LINK_LIBS} DEPENDS ${PARAM_DEPENDS} ${pass_NO_INSTALL_RPATH} ) if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "liblldb") if (PARAM_SHARED) if(${name} STREQUAL "liblldb" AND LLDB_BUILD_FRAMEWORK) if(LLDB_FRAMEWORK_INSTALL_DIR) set(install_dir ${LLDB_FRAMEWORK_INSTALL_DIR}) else() set(install_dir ".") endif() else() set(install_dir lib${LLVM_LIBDIR_SUFFIX}) endif() install(TARGETS ${name} COMPONENT ${name} RUNTIME DESTINATION bin LIBRARY DESTINATION ${install_dir} ARCHIVE DESTINATION ${install_dir}) else() install(TARGETS ${name} COMPONENT ${name} LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) endif() if (NOT CMAKE_CONFIGURATION_TYPES) add_llvm_install_targets(install-${name} DEPENDS $ COMPONENT ${name}) endif() endif() endif() # Hack: only some LLDB libraries depend on the clang autogenerated headers, # but it is simple enough to make all of LLDB depend on some of those # headers without negatively impacting much of anything. - add_dependencies(${name} clang-tablegen-targets) + if(NOT LLDB_BUILT_STANDALONE) + add_dependencies(${name} clang-tablegen-targets) + endif() # Add in any extra C++ compilation flags for this library. target_compile_options(${name} PRIVATE ${PARAM_EXTRA_CXXFLAGS}) set_target_properties(${name} PROPERTIES FOLDER "lldb libraries") endfunction(add_lldb_library) function(add_lldb_executable name) cmake_parse_arguments(ARG "GENERATE_INSTALL" "ENTITLEMENTS" "LINK_LIBS;LINK_COMPONENTS" ${ARGN} ) if(LLDB_NO_INSTALL_DEFAULT_RPATH) set(pass_NO_INSTALL_RPATH NO_INSTALL_RPATH) endif() list(APPEND LLVM_LINK_COMPONENTS ${ARG_LINK_COMPONENTS}) add_llvm_executable(${name} ${ARG_UNPARSED_ARGUMENTS} ENTITLEMENTS ${ARG_ENTITLEMENTS} ${pass_NO_INSTALL_RPATH} ) target_link_libraries(${name} PRIVATE ${ARG_LINK_LIBS}) set_target_properties(${name} PROPERTIES FOLDER "lldb executables") if(ARG_GENERATE_INSTALL) install(TARGETS ${name} COMPONENT ${name} RUNTIME DESTINATION bin) if (NOT CMAKE_CONFIGURATION_TYPES) add_llvm_install_targets(install-${name} DEPENDS ${name} COMPONENT ${name}) endif() endif() endfunction(add_lldb_executable) function(add_lldb_tool name) add_lldb_executable(${name} GENERATE_INSTALL ${ARGN}) endfunction() # Support appending linker flags to an existing target. # This will preserve the existing linker flags on the # target, if there are any. function(lldb_append_link_flags target_name new_link_flags) # Retrieve existing linker flags. get_target_property(current_link_flags ${target_name} LINK_FLAGS) # If we had any linker flags, include them first in the new linker flags. if(current_link_flags) set(new_link_flags "${current_link_flags} ${new_link_flags}") endif() # Now set them onto the target. set_target_properties(${target_name} PROPERTIES LINK_FLAGS ${new_link_flags}) endfunction() # For tools that depend on liblldb, account for varying directory structures in # which LLDB.framework can be used and distributed: In the build-tree we find it # by its absolute target path. This is only relevant for running the test suite. # In the install step CMake will remove this entry and insert the final RPATHs. # These are relative to the file path from where the tool will be loaded on the # enduser system. # # Note that the LLVM install-tree doesn't match the enduser system structure # for LLDB.framework, so by default dependent tools will not be functional in # their install location. The LLDB_FRAMEWORK_INSTALL_DIR variable allows to fix # this. If specified, it causes the install-tree location of the framework to be # added as an extra RPATH below. # function(lldb_setup_framework_rpaths_in_tool name) # In the build-tree, we know the exact path to the binary in the framework. set(rpath_build_tree "$") # The installed framework is relocatable and can be in different locations. set(rpaths_install_tree "@loader_path/../../../SharedFrameworks") list(APPEND rpaths_install_tree "@loader_path/../../System/Library/PrivateFrameworks") list(APPEND rpaths_install_tree "@loader_path/../../Library/PrivateFrameworks") if(LLDB_FRAMEWORK_INSTALL_DIR) set(rpaths_install_tree "@loader_path/../${LLDB_FRAMEWORK_INSTALL_DIR}") endif() # If LLDB_NO_INSTALL_DEFAULT_RPATH was NOT enabled (default), this overwrites # the default settings from llvm_setup_rpath(). set_target_properties(${name} PROPERTIES BUILD_WITH_INSTALL_RPATH OFF BUILD_RPATH "${rpath_build_tree}" INSTALL_RPATH "${rpaths_install_tree}" ) add_dependencies(${name} lldb-framework) endfunction() Index: vendor/lldb/dist-release_80/cmake/modules/LLDBStandalone.cmake =================================================================== --- vendor/lldb/dist-release_80/cmake/modules/LLDBStandalone.cmake (revision 343803) +++ vendor/lldb/dist-release_80/cmake/modules/LLDBStandalone.cmake (revision 343804) @@ -1,131 +1,131 @@ # If we are not building as a part of LLVM, build LLDB as an # standalone project, using LLVM as an external library: if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) project(lldb) option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF) # Rely on llvm-config. set(CONFIG_OUTPUT) find_program(LLVM_CONFIG "llvm-config") if(LLVM_CONFIG) message(STATUS "Found LLVM_CONFIG as ${LLVM_CONFIG}") set(CONFIG_COMMAND ${LLVM_CONFIG} "--assertion-mode" "--bindir" "--libdir" "--includedir" "--prefix" "--src-root" "--cmakedir") execute_process( COMMAND ${CONFIG_COMMAND} RESULT_VARIABLE HAD_ERROR OUTPUT_VARIABLE CONFIG_OUTPUT ) if(NOT HAD_ERROR) string(REGEX REPLACE "[ \t]*[\r\n]+[ \t]*" ";" CONFIG_OUTPUT ${CONFIG_OUTPUT}) else() string(REPLACE ";" " " CONFIG_COMMAND_STR "${CONFIG_COMMAND}") message(STATUS "${CONFIG_COMMAND_STR}") message(FATAL_ERROR "llvm-config failed with status ${HAD_ERROR}") endif() else() message(FATAL_ERROR "llvm-config not found -- ${LLVM_CONFIG}") endif() list(GET CONFIG_OUTPUT 0 ENABLE_ASSERTIONS) list(GET CONFIG_OUTPUT 1 TOOLS_BINARY_DIR) list(GET CONFIG_OUTPUT 2 LIBRARY_DIR) list(GET CONFIG_OUTPUT 3 INCLUDE_DIR) list(GET CONFIG_OUTPUT 4 LLVM_OBJ_ROOT) list(GET CONFIG_OUTPUT 5 MAIN_SRC_DIR) list(GET CONFIG_OUTPUT 6 LLVM_CMAKE_PATH) if(NOT MSVC_IDE) set(LLVM_ENABLE_ASSERTIONS ${ENABLE_ASSERTIONS} CACHE BOOL "Enable assertions") # Assertions should follow llvm-config's. mark_as_advanced(LLVM_ENABLE_ASSERTIONS) endif() set(LLVM_TOOLS_BINARY_DIR ${TOOLS_BINARY_DIR} CACHE PATH "Path to llvm/bin") set(LLVM_LIBRARY_DIR ${LIBRARY_DIR} CACHE PATH "Path to llvm/lib") set(LLVM_MAIN_INCLUDE_DIR ${INCLUDE_DIR} CACHE PATH "Path to llvm/include") set(LLVM_DIR ${LLVM_OBJ_ROOT}/cmake/modules/CMakeFiles CACHE PATH "Path to LLVM build tree CMake files") set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree") set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree") - set(LLVM_EXTERNAL_LIT ${LLVM_TOOLS_BINARY_DIR}/llvm-lit CACHE PATH "Path to llvm-lit") + set(LLVM_DEFAULT_EXTERNAL_LIT ${LLVM_TOOLS_BINARY_DIR}/llvm-lit CACHE PATH "Path to llvm-lit") find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) set(LLVMCONFIG_FILE "${LLVM_CMAKE_PATH}/LLVMConfig.cmake") if(EXISTS ${LLVMCONFIG_FILE}) file(TO_CMAKE_PATH "${LLVM_CMAKE_PATH}" LLVM_CMAKE_PATH) list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}") include(${LLVMCONFIG_FILE}) else() message(FATAL_ERROR "Not found: ${LLVMCONFIG_FILE}") endif() # They are used as destination of target generators. set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) if(WIN32 OR CYGWIN) # DLL platform -- put DLLs into bin. set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) else() set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) endif() include(AddLLVM) include(TableGen) include(HandleLLVMOptions) include(CheckAtomic) if (PYTHON_EXECUTABLE STREQUAL "") set(Python_ADDITIONAL_VERSIONS 3.5 3.4 3.3 3.2 3.1 3.0 2.7 2.6 2.5) include(FindPythonInterp) if( NOT PYTHONINTERP_FOUND ) message(FATAL_ERROR "Unable to find Python interpreter, required for builds and testing. Please install Python or specify the PYTHON_EXECUTABLE CMake variable.") endif() else() message("-- Found PythonInterp: ${PYTHON_EXECUTABLE}") endif() # Import CMake library targets from LLVM and Clang. include("${LLVM_OBJ_ROOT}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm/LLVMConfig.cmake") if (EXISTS "${LLVM_OBJ_ROOT}/lib${LLVM_LIBDIR_SUFFIX}/cmake/clang/ClangConfig.cmake") include("${LLVM_OBJ_ROOT}/lib${LLVM_LIBDIR_SUFFIX}/cmake/clang/ClangConfig.cmake") endif() set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}") set(LLVM_INCLUDE_TESTS ON CACHE INTERNAL "") set(CMAKE_INCLUDE_CURRENT_DIR ON) include_directories("${CMAKE_BINARY_DIR}/include" "${LLVM_MAIN_INCLUDE_DIR}") # Next three include directories are needed when llvm-config is located in build directory. # LLVM and Clang are assumed to be built together if (EXISTS "${LLVM_OBJ_ROOT}/include") include_directories("${LLVM_OBJ_ROOT}/include") endif() if (EXISTS "${LLVM_MAIN_SRC_DIR}/tools/clang/include") include_directories("${LLVM_MAIN_SRC_DIR}/tools/clang/include") endif() if (EXISTS "${LLVM_OBJ_ROOT}/tools/clang/include") include_directories("${LLVM_OBJ_ROOT}/tools/clang/include") endif() link_directories("${LLVM_LIBRARY_DIR}") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}) set(LLDB_BUILT_STANDALONE 1) endif() Index: vendor/lldb/dist-release_80/lit/CMakeLists.txt =================================================================== --- vendor/lldb/dist-release_80/lit/CMakeLists.txt (revision 343803) +++ vendor/lldb/dist-release_80/lit/CMakeLists.txt (revision 343804) @@ -1,74 +1,79 @@ # Test runner infrastructure for LLDB. This configures the LLDB test trees # for use by Lit, and delegates to LLVM's lit test handlers. if (CMAKE_CFG_INTDIR STREQUAL ".") set(LLVM_BUILD_MODE ".") else () set(LLVM_BUILD_MODE "%(build_mode)s") endif () if (CMAKE_SIZEOF_VOID_P EQUAL 8) set(LLDB_IS_64_BITS 1) endif() get_property(LLDB_DOTEST_ARGS GLOBAL PROPERTY LLDB_DOTEST_ARGS_PROPERTY) string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLDB_LIBS_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLDB_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLDB_DOTEST_ARGS "${LLDB_DOTEST_ARGS}") list(APPEND LLDB_TEST_DEPS LLDBUnitTests dsymutil llc lldb lldb-test llvm-config llvm-mc llvm-objcopy - FileCheck - count - not ) if(TARGET lld) list(APPEND LLDB_TEST_DEPS lld) endif() # the value is not canonicalized within LLVM llvm_canonicalize_cmake_booleans( LLDB_DISABLE_PYTHON LLVM_ENABLE_ZLIB LLDB_IS_64_BITS) configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py MAIN_CONFIG ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py) configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg.py MAIN_CONFIG ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py) configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/Suite/lit.site.cfg.in ${CMAKE_CURRENT_BINARY_DIR}/Suite/lit.site.cfg) + +if(NOT LLDB_BUILT_STANDALONE) + list(APPEND LLDB_TEST_DEPS + FileCheck + count + not + ) +endif() add_lit_testsuite(check-lldb-lit "Running lldb lit test suite" ${CMAKE_CURRENT_BINARY_DIR} 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} DEPENDS ${LLDB_TEST_DEPS} ) Index: vendor/lldb/dist-release_80/source/Plugins/Process/NetBSD/CMakeLists.txt =================================================================== --- vendor/lldb/dist-release_80/source/Plugins/Process/NetBSD/CMakeLists.txt (revision 343803) +++ vendor/lldb/dist-release_80/source/Plugins/Process/NetBSD/CMakeLists.txt (revision 343804) @@ -1,16 +1,17 @@ add_lldb_library(lldbPluginProcessNetBSD PLUGIN NativeProcessNetBSD.cpp NativeRegisterContextNetBSD.cpp NativeRegisterContextNetBSD_x86_64.cpp NativeThreadNetBSD.cpp LINK_LIBS lldbHost lldbSymbol lldbTarget lldbUtility lldbPluginProcessPOSIX lldbPluginProcessUtility + util LINK_COMPONENTS Support )