JDevlieghere updated this revision to Diff 244299.
JDevlieghere added a comment.
Herald added a subscriber: emaste.

Complete rewrite based on the external forward declarations.


Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73067/new/

https://reviews.llvm.org/D73067

Files:
  lldb/source/API/SystemInitializerFull.cpp
  lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
  lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
  lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
  lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
  lldb/source/Plugins/CMakeLists.txt
  lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
  lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
  lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
  lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
  lldb/source/Plugins/Language/ObjC/CMakeLists.txt
  lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt
  lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt
  lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
  lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
  lldb/source/Plugins/Plugins.def.in
  lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
  lldb/tools/lldb-test/CMakeLists.txt
  lldb/tools/lldb-test/SystemInitializerTest.cpp
  lldb/unittests/Disassembler/CMakeLists.txt
  lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
  lldb/unittests/UnwindAssembly/PPC64/CMakeLists.txt

Index: lldb/unittests/UnwindAssembly/PPC64/CMakeLists.txt
===================================================================
--- lldb/unittests/UnwindAssembly/PPC64/CMakeLists.txt
+++ lldb/unittests/UnwindAssembly/PPC64/CMakeLists.txt
@@ -5,7 +5,7 @@
     lldbSymbol
     lldbTarget
     lldbPluginUnwindAssemblyInstEmulation
-    lldbPluginDisassemblerLLVM
+    lldbPluginDisassemblerLLVMC
     lldbPluginInstructionPPC64
     lldbPluginProcessUtility
   LINK_COMPONENTS
Index: lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
===================================================================
--- lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
+++ lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
@@ -5,7 +5,7 @@
     lldbSymbol
     lldbTarget
     lldbPluginUnwindAssemblyInstEmulation
-    lldbPluginDisassemblerLLVM
+    lldbPluginDisassemblerLLVMC
     lldbPluginInstructionARM64
     lldbPluginProcessUtility
   LINK_COMPONENTS
Index: lldb/unittests/Disassembler/CMakeLists.txt
===================================================================
--- lldb/unittests/Disassembler/CMakeLists.txt
+++ lldb/unittests/Disassembler/CMakeLists.txt
@@ -6,7 +6,7 @@
       lldbCore
       lldbSymbol
       lldbTarget
-      lldbPluginDisassemblerLLVM
+      lldbPluginDisassemblerLLVMC
       lldbPluginProcessUtility
     LINK_COMPONENTS
       Support
Index: lldb/tools/lldb-test/SystemInitializerTest.cpp
===================================================================
--- lldb/tools/lldb-test/SystemInitializerTest.cpp
+++ lldb/tools/lldb-test/SystemInitializerTest.cpp
@@ -17,88 +17,9 @@
 
 #include <string>
 
-LLDB_PLUGIN_DECLARE(ABIMacOSX_arm64)
-LLDB_PLUGIN_DECLARE(ABISysV_arm64)
-LLDB_PLUGIN_DECLARE(ABIMacOSX_arm)
-LLDB_PLUGIN_DECLARE(ABISysV_arm)
-LLDB_PLUGIN_DECLARE(ABISysV_arc)
-LLDB_PLUGIN_DECLARE(ABISysV_hexagon)
-LLDB_PLUGIN_DECLARE(ABISysV_mips)
-LLDB_PLUGIN_DECLARE(ABISysV_mips64)
-LLDB_PLUGIN_DECLARE(ABISysV_ppc)
-LLDB_PLUGIN_DECLARE(ABISysV_ppc64)
-LLDB_PLUGIN_DECLARE(ABISysV_s390x)
-LLDB_PLUGIN_DECLARE(ABIMacOSX_i386)
-LLDB_PLUGIN_DECLARE(ABISysV_i386)
-LLDB_PLUGIN_DECLARE(ABISysV_x86_64)
-LLDB_PLUGIN_DECLARE(ABIWindows_x86_64)
-LLDB_PLUGIN_DECLARE(ObjectFileBreakpad)
-LLDB_PLUGIN_DECLARE(ObjectFileELF)
-LLDB_PLUGIN_DECLARE(ObjectFileMachO)
-LLDB_PLUGIN_DECLARE(ObjectFilePECOFF)
-LLDB_PLUGIN_DECLARE(ObjectFileWasm)
-LLDB_PLUGIN_DECLARE(ObjectContainerBSDArchive)
-LLDB_PLUGIN_DECLARE(ObjectContainerUniversalMachO)
-LLDB_PLUGIN_DECLARE(ScriptInterpreterNone)
-LLDB_PLUGIN_DECLARE(PlatformFreeBSD)
-LLDB_PLUGIN_DECLARE(PlatformLinux)
-LLDB_PLUGIN_DECLARE(PlatformNetBSD)
-LLDB_PLUGIN_DECLARE(PlatformOpenBSD)
-LLDB_PLUGIN_DECLARE(PlatformWindows)
-LLDB_PLUGIN_DECLARE(PlatformAndroid)
-LLDB_PLUGIN_DECLARE(PlatformMacOSX)
-LLDB_PLUGIN_DECLARE(TypeSystemClang)
-LLDB_PLUGIN_DECLARE(ArchitectureArm)
-LLDB_PLUGIN_DECLARE(ArchitectureMips)
-LLDB_PLUGIN_DECLARE(ArchitecturePPC64)
-LLDB_PLUGIN_DECLARE(DisassemblerLLVMC)
-LLDB_PLUGIN_DECLARE(JITLoaderGDB)
-LLDB_PLUGIN_DECLARE(ProcessElfCore)
-LLDB_PLUGIN_DECLARE(ProcessMachCore)
-LLDB_PLUGIN_DECLARE(ProcessMinidump)
-LLDB_PLUGIN_DECLARE(MemoryHistoryASan)
-LLDB_PLUGIN_DECLARE(InstrumentationRuntimeASan)
-LLDB_PLUGIN_DECLARE(InstrumentationRuntimeTSan)
-LLDB_PLUGIN_DECLARE(InstrumentationRuntimeUBSan)
-LLDB_PLUGIN_DECLARE(InstrumentationRuntimeMainThreadChecker)
-LLDB_PLUGIN_DECLARE(SymbolVendorELF)
-LLDB_PLUGIN_DECLARE(SymbolFileBreakpad)
-LLDB_PLUGIN_DECLARE(SymbolFileDWARF)
-LLDB_PLUGIN_DECLARE(SymbolFilePDB)
-LLDB_PLUGIN_DECLARE(SymbolFileSymtab)
-LLDB_PLUGIN_DECLARE(SymbolVendorWasm)
-LLDB_PLUGIN_DECLARE(UnwindAssemblyInstEmulation)
-LLDB_PLUGIN_DECLARE(UnwindAssembly_x86)
-LLDB_PLUGIN_DECLARE(EmulateInstructionARM)
-LLDB_PLUGIN_DECLARE(EmulateInstructionARM64)
-LLDB_PLUGIN_DECLARE(EmulateInstructionMIPS)
-LLDB_PLUGIN_DECLARE(EmulateInstructionMIPS64)
-LLDB_PLUGIN_DECLARE(EmulateInstructionPPC64)
-LLDB_PLUGIN_DECLARE(ItaniumABILanguageRuntime)
-LLDB_PLUGIN_DECLARE(AppleObjCRuntime)
-LLDB_PLUGIN_DECLARE(SystemRuntimeMacOSX)
-LLDB_PLUGIN_DECLARE(RenderScriptRuntime)
-LLDB_PLUGIN_DECLARE(CPlusPlusLanguage)
-LLDB_PLUGIN_DECLARE(ObjCLanguage)
-LLDB_PLUGIN_DECLARE(ObjCPlusPlusLanguage)
-#if defined(_WIN32)
-LLDB_PLUGIN_DECLARE(ProcessWindows)
-#endif
-#if defined(__FreeBSD__)
-LLDB_PLUGIN_DECLARE(ProcessFreeBSD)
-#endif
-#if defined(__APPLE__)
-LLDB_PLUGIN_DECLARE(SymbolVendorMacOSX)
-LLDB_PLUGIN_DECLARE(ProcessKDP)
-LLDB_PLUGIN_DECLARE(DynamicLoaderDarwinKernel)
-#endif
-LLDB_PLUGIN_DECLARE(StructuredDataDarwinLog)
-LLDB_PLUGIN_DECLARE(PlatformRemoteGDBServer)
-LLDB_PLUGIN_DECLARE(ProcessGDBRemote)
-LLDB_PLUGIN_DECLARE(DynamicLoaderMacOSXDYLD)
-LLDB_PLUGIN_DECLARE(DynamicLoaderPOSIXDYLD)
-LLDB_PLUGIN_DECLARE(DynamicLoaderStatic)
-LLDB_PLUGIN_DECLARE(DynamicLoaderWindowsDYLD)
+#undef LLDB_PLUGIN
+#define LLDB_PLUGIN(p) LLDB_PLUGIN_DECLARE(p)
+#include "Plugins.def"
 
 using namespace lldb_private;
 
@@ -106,137 +27,18 @@
 
 SystemInitializerTest::~SystemInitializerTest() {}
 
-#define LLDB_PROCESS_AArch64(op)                                               \
-  op(ABIMacOSX_arm64);                                                         \
-  op(ABISysV_arm64);
-#define LLDB_PROCESS_ARM(op)                                                   \
-  op(ABIMacOSX_arm);                                                           \
-  op(ABISysV_arm);
-#define LLDB_PROCESS_Hexagon(op) op(ABISysV_hexagon);
-#define LLDB_PROCESS_Mips(op)                                                  \
-  op(ABISysV_mips);                                                            \
-  op(ABISysV_mips64);
-#define LLDB_PROCESS_PowerPC(op)                                               \
-  op(ABISysV_ppc);                                                             \
-  op(ABISysV_ppc64);
-#define LLDB_PROCESS_SystemZ(op) op(ABISysV_s390x);
-#define LLDB_PROCESS_X86(op)                                                   \
-  op(ABIMacOSX_i386);                                                          \
-  op(ABISysV_i386);                                                            \
-  op(ABISysV_x86_64);                                                          \
-  op(ABIWindows_x86_64);
-
-#define LLDB_PROCESS_AMDGPU(op)
-#define LLDB_PROCESS_ARC(op)
-#define LLDB_PROCESS_AVR(op)
-#define LLDB_PROCESS_BPF(op)
-#define LLDB_PROCESS_Lanai(op)
-#define LLDB_PROCESS_MSP430(op)
-#define LLDB_PROCESS_NVPTX(op)
-#define LLDB_PROCESS_RISCV(op)
-#define LLDB_PROCESS_Sparc(op)
-#define LLDB_PROCESS_WebAssembly(op)
-#define LLDB_PROCESS_XCore(op)
-
 llvm::Error SystemInitializerTest::Initialize() {
   if (auto e = SystemInitializerCommon::Initialize())
     return e;
 
-  LLDB_PLUGIN_INITIALIZE(ObjectFileBreakpad);
-  LLDB_PLUGIN_INITIALIZE(ObjectFileELF);
-  LLDB_PLUGIN_INITIALIZE(ObjectFileMachO);
-  LLDB_PLUGIN_INITIALIZE(ObjectFilePECOFF);
-  LLDB_PLUGIN_INITIALIZE(ObjectFileWasm);
-
-  LLDB_PLUGIN_INITIALIZE(ObjectContainerBSDArchive);
-  LLDB_PLUGIN_INITIALIZE(ObjectContainerUniversalMachO);
+#define LLDB_SCRIPT_PLUGIN(p)
+#define LLDB_PLUGIN(p) LLDB_PLUGIN_INITIALIZE(p);
+#include "Plugins.def"
 
+  // We undef'd LLDB_SCRIPT_PLUGIN so we need to initialize
+  // ScriptInterpreterNone manually.
   LLDB_PLUGIN_INITIALIZE(ScriptInterpreterNone);
 
-  LLDB_PLUGIN_INITIALIZE(PlatformFreeBSD);
-  LLDB_PLUGIN_INITIALIZE(PlatformLinux);
-  LLDB_PLUGIN_INITIALIZE(PlatformNetBSD);
-  LLDB_PLUGIN_INITIALIZE(PlatformOpenBSD);
-  LLDB_PLUGIN_INITIALIZE(PlatformWindows);
-  LLDB_PLUGIN_INITIALIZE(PlatformAndroid);
-  LLDB_PLUGIN_INITIALIZE(PlatformMacOSX);
-
-  // Initialize LLVM and Clang
-  llvm::InitializeAllTargets();
-  llvm::InitializeAllAsmPrinters();
-  llvm::InitializeAllTargetMCs();
-  llvm::InitializeAllDisassemblers();
-
-  LLDB_PLUGIN_INITIALIZE(TypeSystemClang);
-
-#define LLVM_TARGET(t) LLDB_PROCESS_##t(LLDB_PLUGIN_INITIALIZE)
-#include "llvm/Config/Targets.def"
-
-  LLDB_PLUGIN_INITIALIZE(ArchitectureArm);
-  LLDB_PLUGIN_INITIALIZE(ArchitectureMips);
-  LLDB_PLUGIN_INITIALIZE(ArchitecturePPC64);
-
-  LLDB_PLUGIN_INITIALIZE(DisassemblerLLVMC);
-
-  LLDB_PLUGIN_INITIALIZE(JITLoaderGDB);
-  LLDB_PLUGIN_INITIALIZE(ProcessElfCore);
-  LLDB_PLUGIN_INITIALIZE(ProcessMachCore);
-  LLDB_PLUGIN_INITIALIZE(ProcessMinidump);
-  LLDB_PLUGIN_INITIALIZE(MemoryHistoryASan);
-  LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeASan);
-  LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeTSan);
-  LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeUBSan);
-  LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeMainThreadChecker);
-
-  LLDB_PLUGIN_INITIALIZE(SymbolVendorELF);
-  LLDB_PLUGIN_INITIALIZE(SymbolFileBreakpad);
-  LLDB_PLUGIN_INITIALIZE(SymbolFileDWARF);
-  LLDB_PLUGIN_INITIALIZE(SymbolFilePDB);
-  LLDB_PLUGIN_INITIALIZE(SymbolFileSymtab);
-  LLDB_PLUGIN_INITIALIZE(SymbolVendorWasm);
-  LLDB_PLUGIN_INITIALIZE(UnwindAssemblyInstEmulation);
-  LLDB_PLUGIN_INITIALIZE(UnwindAssembly_x86);
-
-  LLDB_PLUGIN_INITIALIZE(EmulateInstructionARM);
-  LLDB_PLUGIN_INITIALIZE(EmulateInstructionARM64);
-  LLDB_PLUGIN_INITIALIZE(EmulateInstructionMIPS);
-  LLDB_PLUGIN_INITIALIZE(EmulateInstructionMIPS64);
-  LLDB_PLUGIN_INITIALIZE(EmulateInstructionPPC64);
-
-  LLDB_PLUGIN_INITIALIZE(ItaniumABILanguageRuntime);
-  LLDB_PLUGIN_INITIALIZE(AppleObjCRuntime);
-  LLDB_PLUGIN_INITIALIZE(SystemRuntimeMacOSX);
-  LLDB_PLUGIN_INITIALIZE(RenderScriptRuntime);
-
-  LLDB_PLUGIN_INITIALIZE(CPlusPlusLanguage);
-  LLDB_PLUGIN_INITIALIZE(ObjCLanguage);
-  LLDB_PLUGIN_INITIALIZE(ObjCPlusPlusLanguage);
-
-#if defined(_WIN32)
-  LLDB_PLUGIN_INITIALIZE(ProcessWindows);
-#endif
-#if defined(__FreeBSD__)
-  LLDB_PLUGIN_INITIALIZE(ProcessFreeBSD);
-#endif
-#if defined(__APPLE__)
-  LLDB_PLUGIN_INITIALIZE(SymbolVendorMacOSX);
-  LLDB_PLUGIN_INITIALIZE(ProcessKDP);
-  LLDB_PLUGIN_INITIALIZE(DynamicLoaderDarwinKernel);
-#endif
-
-  // This plugin is valid on any host that talks to a Darwin remote. It
-  // shouldn't be limited to __APPLE__.
-  LLDB_PLUGIN_INITIALIZE(StructuredDataDarwinLog);
-
-  // Platform agnostic plugins
-  LLDB_PLUGIN_INITIALIZE(PlatformRemoteGDBServer);
-
-  LLDB_PLUGIN_INITIALIZE(ProcessGDBRemote);
-  LLDB_PLUGIN_INITIALIZE(DynamicLoaderMacOSXDYLD);
-  LLDB_PLUGIN_INITIALIZE(DynamicLoaderPOSIXDYLD);
-  LLDB_PLUGIN_INITIALIZE(DynamicLoaderStatic);
-  LLDB_PLUGIN_INITIALIZE(DynamicLoaderWindowsDYLD);
-
   // Scan for any system or user LLDB plug-ins
   PluginManager::Initialize();
 
@@ -258,89 +60,12 @@
   // Terminate and unload and loaded system or user LLDB plug-ins
   PluginManager::Terminate();
 
-  LLDB_PLUGIN_TERMINATE(TypeSystemClang);
-
-  LLDB_PLUGIN_TERMINATE(ArchitectureArm);
-  LLDB_PLUGIN_TERMINATE(ArchitectureMips);
-  LLDB_PLUGIN_TERMINATE(ArchitecturePPC64);
-
-#define LLVM_TARGET(t) LLDB_PROCESS_##t(LLDB_PLUGIN_TERMINATE)
-#include "llvm/Config/Targets.def"
-
-  LLDB_PLUGIN_TERMINATE(DisassemblerLLVMC);
-
-  LLDB_PLUGIN_TERMINATE(JITLoaderGDB);
-  LLDB_PLUGIN_TERMINATE(ProcessElfCore);
-  LLDB_PLUGIN_TERMINATE(ProcessMachCore);
-  LLDB_PLUGIN_TERMINATE(ProcessMinidump);
-  LLDB_PLUGIN_TERMINATE(MemoryHistoryASan);
-
-  LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeASan);
-  LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeTSan);
-  LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeUBSan);
-  LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeMainThreadChecker);
-
-  LLDB_PLUGIN_TERMINATE(SymbolVendorWasm);
-  LLDB_PLUGIN_TERMINATE(SymbolVendorELF);
-  LLDB_PLUGIN_TERMINATE(SymbolFileBreakpad);
-  LLDB_PLUGIN_TERMINATE(SymbolFileDWARF);
-  LLDB_PLUGIN_TERMINATE(SymbolFilePDB);
-  LLDB_PLUGIN_TERMINATE(SymbolFileSymtab);
-  LLDB_PLUGIN_TERMINATE(UnwindAssembly_x86);
-  LLDB_PLUGIN_TERMINATE(UnwindAssemblyInstEmulation);
-
-  LLDB_PLUGIN_TERMINATE(EmulateInstructionARM);
-  LLDB_PLUGIN_TERMINATE(EmulateInstructionARM64);
-  LLDB_PLUGIN_TERMINATE(EmulateInstructionMIPS);
-  LLDB_PLUGIN_TERMINATE(EmulateInstructionMIPS64);
-  LLDB_PLUGIN_TERMINATE(EmulateInstructionPPC64);
-
-  LLDB_PLUGIN_TERMINATE(ItaniumABILanguageRuntime);
-  LLDB_PLUGIN_TERMINATE(AppleObjCRuntime);
-  LLDB_PLUGIN_TERMINATE(SystemRuntimeMacOSX);
-  LLDB_PLUGIN_TERMINATE(RenderScriptRuntime);
-
-  LLDB_PLUGIN_TERMINATE(CPlusPlusLanguage);
-  LLDB_PLUGIN_TERMINATE(ObjCLanguage);
-  LLDB_PLUGIN_TERMINATE(ObjCPlusPlusLanguage);
-
-#if defined(__APPLE__)
-  LLDB_PLUGIN_TERMINATE(DynamicLoaderDarwinKernel);
-  LLDB_PLUGIN_TERMINATE(ProcessKDP);
-  LLDB_PLUGIN_TERMINATE(SymbolVendorMacOSX);
-#endif
-
-#if defined(__FreeBSD__)
-  LLDB_PLUGIN_TERMINATE(ProcessFreeBSD);
-#endif
-  Debugger::SettingsTerminate();
-
-  LLDB_PLUGIN_TERMINATE(PlatformRemoteGDBServer);
-  LLDB_PLUGIN_TERMINATE(ProcessGDBRemote);
-  LLDB_PLUGIN_TERMINATE(StructuredDataDarwinLog);
-
-  LLDB_PLUGIN_TERMINATE(DynamicLoaderMacOSXDYLD);
-  LLDB_PLUGIN_TERMINATE(DynamicLoaderPOSIXDYLD);
-  LLDB_PLUGIN_TERMINATE(DynamicLoaderStatic);
-  LLDB_PLUGIN_TERMINATE(DynamicLoaderWindowsDYLD);
-
-  LLDB_PLUGIN_TERMINATE(PlatformFreeBSD);
-  LLDB_PLUGIN_TERMINATE(PlatformLinux);
-  LLDB_PLUGIN_TERMINATE(PlatformNetBSD);
-  LLDB_PLUGIN_TERMINATE(PlatformOpenBSD);
-  LLDB_PLUGIN_TERMINATE(PlatformWindows);
-  LLDB_PLUGIN_TERMINATE(PlatformAndroid);
-  LLDB_PLUGIN_TERMINATE(PlatformMacOSX);
-
-  LLDB_PLUGIN_TERMINATE(ObjectFileBreakpad);
-  LLDB_PLUGIN_TERMINATE(ObjectFileELF);
-  LLDB_PLUGIN_TERMINATE(ObjectFileMachO);
-  LLDB_PLUGIN_TERMINATE(ObjectFilePECOFF);
-  LLDB_PLUGIN_TERMINATE(ObjectFileWasm);
-
-  LLDB_PLUGIN_TERMINATE(ObjectContainerBSDArchive);
-  LLDB_PLUGIN_TERMINATE(ObjectContainerUniversalMachO);
+#define LLDB_SCRIPT_PLUGIN(p)
+#define LLDB_PLUGIN(p) LLDB_PLUGIN_TERMINATE(p);
+#include "Plugins.def"
 
+  // We undef'd LLDB_SCRIPT_PLUGIN so we need to terminate
+  // ScriptInterpreterNone manually.
   LLDB_PLUGIN_TERMINATE(ScriptInterpreterNone);
 
   // Now shutdown the common parts, in reverse order.
Index: lldb/tools/lldb-test/CMakeLists.txt
===================================================================
--- lldb/tools/lldb-test/CMakeLists.txt
+++ lldb/tools/lldb-test/CMakeLists.txt
@@ -1,4 +1,5 @@
 get_property(LLDB_ALL_PLUGINS GLOBAL PROPERTY LLDB_PLUGINS)
+get_property(LLDB_PLUGINS_INCLUDES GLOBAL PROPERTY LLDB_PLUGINS_INCLUDE_DIR)
 
 add_lldb_tool(lldb-test
   FormatUtil.cpp
@@ -23,5 +24,6 @@
   LINK_COMPONENTS
     Support
   )
-  
-include_directories(${LLDB_SOURCE_DIR}/source)
+
+target_include_directories(lldb-test PRIVATE ${LLDB_PLUGINS_INCLUDES})
+target_include_directories(lldb-test PRIVATE ${LLDB_SOURCE_DIR}/source)
Index: lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+++ lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
@@ -66,6 +66,8 @@
 using namespace llvm::codeview;
 using namespace llvm::pdb;
 
+LLDB_PLUGIN(SymbolFileNativePDB)
+
 char SymbolFileNativePDB::ID;
 
 static lldb::LanguageType TranslateLanguage(PDB_Lang lang) {
Index: lldb/source/Plugins/Plugins.def.in
===================================================================
--- lldb/source/Plugins/Plugins.def.in
+++ lldb/source/Plugins/Plugins.def.in
@@ -22,6 +22,11 @@
 #  error Please define the macro LLDB_PLUGIN(PluginName)
 #endif
 
+#ifndef LLDB_SCRIPT_PLUGIN
+#define LLDB_SCRIPT_PLUGIN(p) LLDB_PLUGIN(p)
+#endif
+
 @LLDB_ENUM_PLUGINS@
 
 #undef LLDB_PLUGIN
+#undef LLDB_SCRIPT_PLUGIN
Index: lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
===================================================================
--- lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
+++ lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_lldb_library(lldbPluginPlatformPOSIX PLUGIN
+add_lldb_library(lldbPluginPlatformPOSIX 
   PlatformPOSIX.cpp
 
    LINK_LIBS
Index: lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
===================================================================
--- lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
+++ lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
@@ -39,6 +39,8 @@
 using namespace lldb;
 using namespace lldb_private;
 
+LLDB_PLUGIN(ObjectFileJIT)
+
 char ObjectFileJIT::ID;
 
 void ObjectFileJIT::Initialize() {
Index: lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt
===================================================================
--- lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt
+++ lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_lldb_library(lldbPluginObjCRuntime PLUGIN
+add_lldb_library(lldbPluginObjCRuntime
   ObjCLanguageRuntime.cpp
 
   LINK_LIBS
Index: lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt
===================================================================
--- lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt
+++ lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_lldb_library(lldbPluginCPPRuntime PLUGIN
+add_lldb_library(lldbPluginCPPRuntime 
   CPPLanguageRuntime.cpp
 
   LINK_LIBS
Index: lldb/source/Plugins/Language/ObjC/CMakeLists.txt
===================================================================
--- lldb/source/Plugins/Language/ObjC/CMakeLists.txt
+++ lldb/source/Plugins/Language/ObjC/CMakeLists.txt
@@ -8,7 +8,7 @@
   set(EXTRA_CXXFLAGS ${EXTRA_CXXFLAGS} -Wno-nested-anon-types)
 endif ()
 
-add_lldb_library(lldbPluginObjCLanguage PLUGIN
+add_lldb_library(lldbPluginObjCLanguage 
   ObjCLanguage.cpp
   CF.cpp
   Cocoa.cpp
Index: lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
===================================================================
--- lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
+++ lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
@@ -40,7 +40,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN(EmulateInstructionMIPS)
+LLDB_PLUGIN_ADV(EmulateInstructionMIPS, InstructionMIPS)
 
 #define UInt(x) ((uint64_t)x)
 #define integer int64_t
Index: lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
===================================================================
--- lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
+++ lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
@@ -2,7 +2,7 @@
   set(tablegen_deps intrinsics_gen)
 endif()
 
-add_lldb_library(lldbPluginExpressionParserClang PLUGIN
+add_lldb_library(lldbPluginExpressionParserClang 
   ASTResultSynthesizer.cpp
   ASTStructExtractor.cpp
   ASTUtils.cpp
Index: lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
===================================================================
--- lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
+++ lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
@@ -29,7 +29,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN(DynamicLoaderPOSIXDYLD)
+LLDB_PLUGIN_ADV(DynamicLoaderPOSIXDYLD, DynamicLoaderPosixDYLD)
 
 void DynamicLoaderPOSIXDYLD::Initialize() {
   PluginManager::RegisterPlugin(GetPluginNameStatic(),
Index: lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
===================================================================
--- lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
+++ lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
@@ -25,6 +25,8 @@
 using namespace lldb;
 using namespace lldb_private;
 
+LLDB_PLUGIN(DynamicLoaderHexagonDYLD)
+
 // Aidan 21/05/2014
 //
 // Notes about hexagon dynamic loading:
Index: lldb/source/Plugins/CMakeLists.txt
===================================================================
--- lldb/source/Plugins/CMakeLists.txt
+++ lldb/source/Plugins/CMakeLists.txt
@@ -30,7 +30,11 @@
 foreach(p ${LLDB_ALL_PLUGINS})
   # Strip lldbPlugin form the plugin name.
   string(SUBSTRING ${p} 10 -1 pStripped)
-  set(LLDB_ENUM_PLUGINS "${LLDB_ENUM_PLUGINS}LLDB_PLUGIN(${pStripped})\n")
+  if(${pStripped} MATCHES "^ScriptInterpreter*")
+    set(LLDB_ENUM_PLUGINS "${LLDB_ENUM_PLUGINS}LLDB_SCRIPT_PLUGIN(${pStripped})\n")
+  else()
+    set(LLDB_ENUM_PLUGINS "${LLDB_ENUM_PLUGINS}LLDB_PLUGIN(${pStripped})\n")
+  endif()
 endforeach(p)
 
 configure_file(
@@ -38,4 +42,4 @@
   ${CMAKE_CURRENT_BINARY_DIR}/Plugins.def
   )
 
-set_property(GLOBAL PROPERTY PLUGINS_DEF_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR})
+set_property(GLOBAL PROPERTY LLDB_PLUGINS_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR})
Index: lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
===================================================================
--- lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
+++ lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
@@ -32,7 +32,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN(ABISysV_s390x)
+LLDB_PLUGIN_ADV(ABISysV_s390x, ABISystemZ)
 
 enum dwarf_regnums {
   // General Purpose Registers
Index: lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
===================================================================
--- lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
+++ lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
@@ -32,7 +32,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN(ABISysV_hexagon)
+LLDB_PLUGIN_ADV(ABISysV_hexagon, ABIHexagon)
 
 static RegisterInfo g_register_infos[] = {
     // hexagon-core.xml
Index: lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
===================================================================
--- lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
+++ lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
@@ -34,8 +34,6 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN_ADV(ABIMacOSX_arm, ABIARM)
-
 static RegisterInfo g_register_infos[] = {
     //  NAME       ALT       SZ OFF ENCODING         FORMAT          EH_FRAME
     //  DWARF               GENERIC                     PROCESS PLUGIN
Index: lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
===================================================================
--- lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
+++ lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
@@ -55,7 +55,7 @@
 using namespace lldb;
 using namespace lldb_private;
 
-LLDB_PLUGIN(ABISysV_arc)
+LLDB_PLUGIN(ABISysV_arc, ABIARC)
 
 namespace {
 namespace dwarf {
Index: lldb/source/API/SystemInitializerFull.cpp
===================================================================
--- lldb/source/API/SystemInitializerFull.cpp
+++ lldb/source/API/SystemInitializerFull.cpp
@@ -34,135 +34,18 @@
 
 SystemInitializerFull::~SystemInitializerFull() {}
 
-#define LLDB_PROCESS_AArch64(op) op(ABIAArch64);
-#define LLDB_PROCESS_ARM(op) op(ABIARM);
-#define LLDB_PROCESS_ARC(op) op(ABIARC);
-#define LLDB_PROCESS_Hexagon(op) op(ABIHexagon);
-#define LLDB_PROCESS_Mips(op) op(ABIMips);
-#define LLDB_PROCESS_PowerPC(op) op(ABIPowerPC);
-#define LLDB_PROCESS_SystemZ(op) op(ABISystemZ);
-#define LLDB_PROCESS_X86(op) op(ABIX86);
-
-#define LLDB_PROCESS_AMDGPU(op)
-#define LLDB_PROCESS_AVR(op)
-#define LLDB_PROCESS_BPF(op)
-#define LLDB_PROCESS_Lanai(op)
-#define LLDB_PROCESS_MSP430(op)
-#define LLDB_PROCESS_NVPTX(op)
-#define LLDB_PROCESS_RISCV(op)
-#define LLDB_PROCESS_Sparc(op)
-#define LLDB_PROCESS_WebAssembly(op)
-#define LLDB_PROCESS_XCore(op)
-
 llvm::Error SystemInitializerFull::Initialize() {
   if (auto e = SystemInitializerCommon::Initialize())
     return e;
 
-  LLDB_PLUGIN_INITIALIZE(ObjectFileBreakpad);
-  LLDB_PLUGIN_INITIALIZE(ObjectFileELF);
-  LLDB_PLUGIN_INITIALIZE(ObjectFileMachO);
-  LLDB_PLUGIN_INITIALIZE(ObjectFilePECOFF);
-  LLDB_PLUGIN_INITIALIZE(ObjectFileWasm);
-
-  LLDB_PLUGIN_INITIALIZE(ObjectContainerBSDArchive);
-  LLDB_PLUGIN_INITIALIZE(ObjectContainerMachOArchive);
-
-  LLDB_PLUGIN_INITIALIZE(ScriptInterpreterNone);
-
-#if LLDB_ENABLE_PYTHON
-  LLDB_PLUGIN_INITIALIZE(OperatingSystemPython);
-#endif
-
-#if LLDB_ENABLE_PYTHON
-  LLDB_PLUGIN_INITIALIZE(ScriptInterpreterPython);
-#endif
-
-#if LLDB_ENABLE_LUA
-  LLDB_PLUGIN_INITIALIZE(ScriptInterpreterLua);
-#endif
-  LLDB_PLUGIN_INITIALIZE(PlatformFreeBSD);
-  LLDB_PLUGIN_INITIALIZE(PlatformLinux);
-  LLDB_PLUGIN_INITIALIZE(PlatformNetBSD);
-  LLDB_PLUGIN_INITIALIZE(PlatformOpenBSD);
-  LLDB_PLUGIN_INITIALIZE(PlatformWindows);
-  LLDB_PLUGIN_INITIALIZE(PlatformAndroid);
-  LLDB_PLUGIN_INITIALIZE(PlatformMacOSX);
-
   // Initialize LLVM and Clang
   llvm::InitializeAllTargets();
   llvm::InitializeAllAsmPrinters();
   llvm::InitializeAllTargetMCs();
   llvm::InitializeAllDisassemblers();
 
-  LLDB_PLUGIN_INITIALIZE(TypeSystemClang);
-
-#define LLVM_TARGET(t) LLDB_PROCESS_##t(LLDB_PLUGIN_INITIALIZE)
-#include "llvm/Config/Targets.def"
-
-  LLDB_PLUGIN_INITIALIZE(ArchitectureArm);
-  LLDB_PLUGIN_INITIALIZE(ArchitectureMips);
-  LLDB_PLUGIN_INITIALIZE(ArchitecturePPC64);
-
-  LLDB_PLUGIN_INITIALIZE(DisassemblerLLVMC);
-
-  LLDB_PLUGIN_INITIALIZE(JITLoaderGDB);
-  LLDB_PLUGIN_INITIALIZE(ProcessElfCore);
-  LLDB_PLUGIN_INITIALIZE(ProcessMachCore);
-  LLDB_PLUGIN_INITIALIZE(ProcessMinidump);
-  LLDB_PLUGIN_INITIALIZE(MemoryHistoryASan);
-  LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeASan);
-  LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeTSan);
-  LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeUBSan);
-  LLDB_PLUGIN_INITIALIZE(InstrumentationRuntimeMainThreadChecker);
-
-  LLDB_PLUGIN_INITIALIZE(SymbolVendorELF);
-  LLDB_PLUGIN_INITIALIZE(SymbolFileBreakpad);
-  LLDB_PLUGIN_INITIALIZE(SymbolFileDWARF);
-  LLDB_PLUGIN_INITIALIZE(SymbolFilePDB);
-  LLDB_PLUGIN_INITIALIZE(SymbolFileSymtab);
-  LLDB_PLUGIN_INITIALIZE(SymbolVendorWasm);
-  LLDB_PLUGIN_INITIALIZE(UnwindAssemblyInstEmulation);
-  LLDB_PLUGIN_INITIALIZE(UnwindAssemblyX86);
-
-  LLDB_PLUGIN_INITIALIZE(InstructionARM);
-  LLDB_PLUGIN_INITIALIZE(InstructionARM64);
-  LLDB_PLUGIN_INITIALIZE(InstructionMIPS);
-  LLDB_PLUGIN_INITIALIZE(InstructionMIPS64);
-  LLDB_PLUGIN_INITIALIZE(InstructionPPC64);
-
-  LLDB_PLUGIN_INITIALIZE(CXXItaniumABI);
-  LLDB_PLUGIN_INITIALIZE(AppleObjCRuntime);
-  LLDB_PLUGIN_INITIALIZE(SystemRuntimeMacOSX);
-  LLDB_PLUGIN_INITIALIZE(RenderScriptRuntime);
-
-  LLDB_PLUGIN_INITIALIZE(CPlusPlusLanguage);
-  LLDB_PLUGIN_INITIALIZE(ObjCLanguage);
-  LLDB_PLUGIN_INITIALIZE(ObjCPlusPlusLanguage);
-
-#if defined(_WIN32)
-  LLDB_PLUGIN_INITIALIZE(ProcessWindows);
-#endif
-#if defined(__FreeBSD__)
-  LLDB_PLUGIN_INITIALIZE(ProcessFreeBSD);
-#endif
-#if defined(__APPLE__)
-  LLDB_PLUGIN_INITIALIZE(SymbolVendorMacOSX);
-  LLDB_PLUGIN_INITIALIZE(ProcessMacOSXKernel);
-  LLDB_PLUGIN_INITIALIZE(DynamicLoaderDarwinKernel);
-#endif
-
-  // This plugin is valid on any host that talks to a Darwin remote. It
-  // shouldn't be limited to __APPLE__.
-  LLDB_PLUGIN_INITIALIZE(StructuredDataDarwinLog);
-
-  // Platform agnostic plugins
-  LLDB_PLUGIN_INITIALIZE(PlatformGDB);
-
-  LLDB_PLUGIN_INITIALIZE(ProcessGDBRemote);
-  LLDB_PLUGIN_INITIALIZE(DynamicLoaderMacOSXDYLD);
-  LLDB_PLUGIN_INITIALIZE(DynamicLoaderPOSIXDYLD);
-  LLDB_PLUGIN_INITIALIZE(DynamicLoaderStatic);
-  LLDB_PLUGIN_INITIALIZE(DynamicLoaderWindowsDYLD);
+#define LLDB_PLUGIN(p) LLDB_PLUGIN_INITIALIZE(p);
+#include "Plugins/Plugins.def"
 
   // Scan for any system or user LLDB plug-ins
   PluginManager::Initialize();
@@ -185,102 +68,8 @@
   // Terminate and unload and loaded system or user LLDB plug-ins
   PluginManager::Terminate();
 
-  LLDB_PLUGIN_TERMINATE(TypeSystemClang);
-
-  LLDB_PLUGIN_TERMINATE(ArchitectureArm);
-  LLDB_PLUGIN_TERMINATE(ArchitectureMips);
-  LLDB_PLUGIN_TERMINATE(ArchitecturePPC64);
-
-#define LLVM_TARGET(t) LLDB_PROCESS_##t(LLDB_PLUGIN_TERMINATE)
-#include "llvm/Config/Targets.def"
-
-  LLDB_PLUGIN_TERMINATE(DisassemblerLLVMC);
-
-  LLDB_PLUGIN_TERMINATE(JITLoaderGDB);
-  LLDB_PLUGIN_TERMINATE(ProcessElfCore);
-  LLDB_PLUGIN_TERMINATE(ProcessMachCore);
-  LLDB_PLUGIN_TERMINATE(ProcessMinidump);
-  LLDB_PLUGIN_TERMINATE(MemoryHistoryASan);
-
-  LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeASan);
-  LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeTSan);
-  LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeUBSan);
-  LLDB_PLUGIN_TERMINATE(InstrumentationRuntimeMainThreadChecker);
-
-  LLDB_PLUGIN_TERMINATE(SymbolVendorWasm);
-  LLDB_PLUGIN_TERMINATE(SymbolVendorELF);
-  LLDB_PLUGIN_TERMINATE(SymbolFileBreakpad);
-  LLDB_PLUGIN_TERMINATE(SymbolFileDWARF);
-  LLDB_PLUGIN_TERMINATE(SymbolFilePDB);
-  LLDB_PLUGIN_TERMINATE(SymbolFileSymtab);
-  LLDB_PLUGIN_TERMINATE(UnwindAssemblyX86);
-  LLDB_PLUGIN_TERMINATE(UnwindAssemblyInstEmulation);
-
-  LLDB_PLUGIN_TERMINATE(InstructionARM);
-  LLDB_PLUGIN_TERMINATE(InstructionARM64);
-  LLDB_PLUGIN_TERMINATE(InstructionMIPS);
-  LLDB_PLUGIN_TERMINATE(InstructionMIPS64);
-  LLDB_PLUGIN_TERMINATE(InstructionPPC64);
-
-  LLDB_PLUGIN_TERMINATE(CXXItaniumABI);
-  LLDB_PLUGIN_TERMINATE(AppleObjCRuntime);
-  LLDB_PLUGIN_TERMINATE(SystemRuntimeMacOSX);
-  LLDB_PLUGIN_TERMINATE(RenderScriptRuntime);
-
-  LLDB_PLUGIN_TERMINATE(CPlusPlusLanguage);
-  LLDB_PLUGIN_TERMINATE(ObjCLanguage);
-  LLDB_PLUGIN_TERMINATE(ObjCPlusPlusLanguage);
-
-#if defined(__APPLE__)
-  LLDB_PLUGIN_TERMINATE(DynamicLoaderDarwinKernel);
-  LLDB_PLUGIN_TERMINATE(ProcessMacOSXKernel);
-  LLDB_PLUGIN_TERMINATE(SymbolVendorMacOSX);
-#endif
-
-#if defined(__FreeBSD__)
-  LLDB_PLUGIN_TERMINATE(ProcessFreeBSD);
-#endif
-  Debugger::SettingsTerminate();
-
-  LLDB_PLUGIN_TERMINATE(PlatformGDB);
-  LLDB_PLUGIN_TERMINATE(ProcessGDBRemote);
-  LLDB_PLUGIN_TERMINATE(StructuredDataDarwinLog);
-
-  LLDB_PLUGIN_TERMINATE(DynamicLoaderMacOSXDYLD);
-  LLDB_PLUGIN_TERMINATE(DynamicLoaderPOSIXDYLD);
-  LLDB_PLUGIN_TERMINATE(DynamicLoaderStatic);
-  LLDB_PLUGIN_TERMINATE(DynamicLoaderWindowsDYLD);
-
-  LLDB_PLUGIN_TERMINATE(PlatformFreeBSD);
-  LLDB_PLUGIN_TERMINATE(PlatformLinux);
-  LLDB_PLUGIN_TERMINATE(PlatformNetBSD);
-  LLDB_PLUGIN_TERMINATE(PlatformOpenBSD);
-  LLDB_PLUGIN_TERMINATE(PlatformWindows);
-  LLDB_PLUGIN_TERMINATE(PlatformAndroid);
-  LLDB_PLUGIN_TERMINATE(PlatformMacOSX);
-
-  LLDB_PLUGIN_TERMINATE(ObjectFileBreakpad);
-  LLDB_PLUGIN_TERMINATE(ObjectFileELF);
-  LLDB_PLUGIN_TERMINATE(ObjectFileMachO);
-  LLDB_PLUGIN_TERMINATE(ObjectFilePECOFF);
-  LLDB_PLUGIN_TERMINATE(ObjectFileWasm);
-
-  LLDB_PLUGIN_TERMINATE(ObjectContainerBSDArchive);
-  LLDB_PLUGIN_TERMINATE(ObjectContainerMachOArchive);
-
-#if LLDB_ENABLE_PYTHON
-  LLDB_PLUGIN_TERMINATE(OperatingSystemPython);
-#endif
-
-#if LLDB_ENABLE_PYTHON
-  LLDB_PLUGIN_TERMINATE(ScriptInterpreterPython);
-#endif
-
-#if LLDB_ENABLE_LUA
-  LLDB_PLUGIN_TERMINATE(ScriptInterpreterLua);
-#endif
-
-  LLDB_PLUGIN_TERMINATE(ScriptInterpreterNone);
+#define LLDB_PLUGIN(p) LLDB_PLUGIN_TERMINATE(p);
+#include "Plugins/Plugins.def"
 
   // Now shutdown the common parts, in reverse order.
   SystemInitializerCommon::Terminate();
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to