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
  • [Lldb-commits] [PATCH] D29... Chris Bieneman via Phabricator via lldb-commits

Reply via email to