llvm-project/lldb/source/Plugins/Plugins.def.in
Jonas Devlieghere 80c3ea4e63 Re-land "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin"
This patch changes the way we initialize and terminate the plugins in
the system initializer. It uses an approach similar to LLVM's
TARGETS_TO_BUILD with a def file that enumerates the plugins.

Previous attempts to land this failed on the Windows bot because there's
a dependency between the different process plugins. Apparently
ProcessWindowsCommon needs to be initialized after all other process
plugins but before ProcessGDBRemote.

Differential revision: https://reviews.llvm.org/D73067
2020-02-18 19:16:07 -08:00

38 lines
2.0 KiB
C++

/*===- lldb/source/Plugin/Plugins.def ---------------------------*- C++ -*-===*\
|* *|
|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
|* Exceptions. *|
|* See https://llvm.org/LICENSE.txt for license information. *|
|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
|* *|
|*===----------------------------------------------------------------------===*|
|* *|
|* This file enumerates all of the plugins supported by this build of LLDB. *|
|* Clients of this file should define the LLDB_PLUGIN macro to be a *|
|* function-like macro with a single parameter (the name of the plugin) *|
|* including this file will then enumerate all of the plugins. Script *|
|* interpreter plugins can be enumerated separately by defining *|
|* LLDB_SCRIPT_PLUGIN in which case they are not part of LLDB_PLUGIN. *|
|* *|
|* *|
|* The set of plugins supported by LLDB is generated at configuration *|
|* time, at which point this header is generated. Do not modify this *|
|* header directly. *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef LLDB_PLUGIN
# 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@
@LLDB_PROCESS_WINDOWS_PLUGIN@
@LLDB_PROCESS_GDB_PLUGIN@
#undef LLDB_PLUGIN
#undef LLDB_SCRIPT_PLUGIN