beanz created this revision. Herald added subscribers: jgosnell, mgorny, nemanjai.
This patch does two things. First it updates all the ABI plugins with accurate dependencies, and second it adds a tracking mechanism for add_lldb_library to denote plugin libraries, allowing us to build up a list of all the configured plugins. This list of generated plugins will be used during generating liblldb so that we can link all the plugins into the library. If this patch looks good I will update all the other plugins in subsequent patches. https://reviews.llvm.org/D29348 Files: cmake/modules/AddLLDB.cmake source/Plugins/ABI/MacOSX-arm/CMakeLists.txt source/Plugins/ABI/MacOSX-arm64/CMakeLists.txt source/Plugins/ABI/MacOSX-i386/CMakeLists.txt source/Plugins/ABI/SysV-arm/CMakeLists.txt source/Plugins/ABI/SysV-arm64/CMakeLists.txt source/Plugins/ABI/SysV-hexagon/CMakeLists.txt source/Plugins/ABI/SysV-i386/CMakeLists.txt source/Plugins/ABI/SysV-mips/CMakeLists.txt source/Plugins/ABI/SysV-mips64/CMakeLists.txt source/Plugins/ABI/SysV-ppc/CMakeLists.txt source/Plugins/ABI/SysV-ppc64/CMakeLists.txt source/Plugins/ABI/SysV-s390x/CMakeLists.txt source/Plugins/ABI/SysV-x86_64/CMakeLists.txt
Index: source/Plugins/ABI/SysV-x86_64/CMakeLists.txt =================================================================== --- source/Plugins/ABI/SysV-x86_64/CMakeLists.txt +++ source/Plugins/ABI/SysV-x86_64/CMakeLists.txt @@ -1,3 +1,10 @@ -add_lldb_library(lldbPluginABISysV_x86_64 +add_lldb_library(lldbPluginABISysV_x86_64 PLUGIN ABISysV_x86_64.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/SysV-s390x/CMakeLists.txt =================================================================== --- source/Plugins/ABI/SysV-s390x/CMakeLists.txt +++ source/Plugins/ABI/SysV-s390x/CMakeLists.txt @@ -1,3 +1,10 @@ -add_lldb_library(lldbPluginABISysV_s390x +add_lldb_library(lldbPluginABISysV_s390x PLUGIN ABISysV_s390x.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/SysV-ppc64/CMakeLists.txt =================================================================== --- source/Plugins/ABI/SysV-ppc64/CMakeLists.txt +++ source/Plugins/ABI/SysV-ppc64/CMakeLists.txt @@ -1,3 +1,10 @@ -add_lldb_library(lldbPluginABISysV_ppc64 +add_lldb_library(lldbPluginABISysV_ppc64 PLUGIN ABISysV_ppc64.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/SysV-ppc/CMakeLists.txt =================================================================== --- source/Plugins/ABI/SysV-ppc/CMakeLists.txt +++ source/Plugins/ABI/SysV-ppc/CMakeLists.txt @@ -1,3 +1,10 @@ -add_lldb_library(lldbPluginABISysV_ppc +add_lldb_library(lldbPluginABISysV_ppc PLUGIN ABISysV_ppc.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/SysV-mips64/CMakeLists.txt =================================================================== --- source/Plugins/ABI/SysV-mips64/CMakeLists.txt +++ source/Plugins/ABI/SysV-mips64/CMakeLists.txt @@ -1,3 +1,10 @@ -add_lldb_library(lldbPluginABISysV_mips64 +add_lldb_library(lldbPluginABISysV_mips64 PLUGIN ABISysV_mips64.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/SysV-mips/CMakeLists.txt =================================================================== --- source/Plugins/ABI/SysV-mips/CMakeLists.txt +++ source/Plugins/ABI/SysV-mips/CMakeLists.txt @@ -1,3 +1,10 @@ -add_lldb_library(lldbPluginABISysV_mips +add_lldb_library(lldbPluginABISysV_mips PLUGIN ABISysV_mips.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/SysV-i386/CMakeLists.txt =================================================================== --- source/Plugins/ABI/SysV-i386/CMakeLists.txt +++ source/Plugins/ABI/SysV-i386/CMakeLists.txt @@ -1,3 +1,10 @@ -add_lldb_library(lldbPluginABISysV_i386 +add_lldb_library(lldbPluginABISysV_i386 PLUGIN ABISysV_i386.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/SysV-hexagon/CMakeLists.txt =================================================================== --- source/Plugins/ABI/SysV-hexagon/CMakeLists.txt +++ source/Plugins/ABI/SysV-hexagon/CMakeLists.txt @@ -1,3 +1,10 @@ -add_lldb_library(lldbPluginABISysV_hexagon +add_lldb_library(lldbPluginABISysV_hexagon PLUGIN ABISysV_hexagon.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/SysV-arm64/CMakeLists.txt =================================================================== --- source/Plugins/ABI/SysV-arm64/CMakeLists.txt +++ source/Plugins/ABI/SysV-arm64/CMakeLists.txt @@ -1,3 +1,10 @@ -add_lldb_library(lldbPluginABISysV_arm64 +add_lldb_library(lldbPluginABISysV_arm64 PLUGIN ABISysV_arm64.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/SysV-arm/CMakeLists.txt =================================================================== --- source/Plugins/ABI/SysV-arm/CMakeLists.txt +++ source/Plugins/ABI/SysV-arm/CMakeLists.txt @@ -1,3 +1,11 @@ -add_lldb_library(lldbPluginABISysV_arm +add_lldb_library(lldbPluginABISysV_arm PLUGIN ABISysV_arm.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + lldbPluginProcessUtility + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/MacOSX-i386/CMakeLists.txt =================================================================== --- source/Plugins/ABI/MacOSX-i386/CMakeLists.txt +++ source/Plugins/ABI/MacOSX-i386/CMakeLists.txt @@ -1,3 +1,10 @@ -add_lldb_library(lldbPluginABIMacOSX_i386 +add_lldb_library(lldbPluginABIMacOSX_i386 PLUGIN ABIMacOSX_i386.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/MacOSX-arm64/CMakeLists.txt =================================================================== --- source/Plugins/ABI/MacOSX-arm64/CMakeLists.txt +++ source/Plugins/ABI/MacOSX-arm64/CMakeLists.txt @@ -1,3 +1,10 @@ -add_lldb_library(lldbPluginABIMacOSX_arm64 +add_lldb_library(lldbPluginABIMacOSX_arm64 PLUGIN ABIMacOSX_arm64.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + LINK_COMPONENTS + Support ) Index: source/Plugins/ABI/MacOSX-arm/CMakeLists.txt =================================================================== --- source/Plugins/ABI/MacOSX-arm/CMakeLists.txt +++ source/Plugins/ABI/MacOSX-arm/CMakeLists.txt @@ -1,3 +1,11 @@ -add_lldb_library(lldbPluginABIMacOSX_arm +add_lldb_library(lldbPluginABIMacOSX_arm PLUGIN ABIMacOSX_arm.cpp + + LINK_LIBS + lldbCore + lldbSymbol + lldbTarget + lldbPluginProcessUtility + LINK_COMPONENTS + Support ) Index: cmake/modules/AddLLDB.cmake =================================================================== --- cmake/modules/AddLLDB.cmake +++ cmake/modules/AddLLDB.cmake @@ -21,13 +21,17 @@ # 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" + "MODULE;SHARED;STATIC;OBJECT;PLUGIN" "" "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)
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits