Index: lldb/cmake/caches/Apple-lldb-macOS.cmake =================================================================== --- lldb/cmake/caches/Apple-lldb-macOS.cmake +++ lldb/cmake/caches/Apple-lldb-macOS.cmake @@ -17,6 +17,19 @@ # DESTDIR will be an extra prefix. set(LLDB_DEBUGINFO_INSTALL_PREFIX /debuginfo CACHE STRING "") +# Disable platform plugins. +set(LDB_PLUGIN_PLATFORM_ANDROID_BUILD OFF CACHE BOOL "") +set(LDB_PLUGIN_PLATFORM_FREEBSD_BUILD OFF CACHE BOOL "") +set(LDB_PLUGIN_PLATFORM_LINUX_BUILD OFF CACHE BOOL "") +set(LDB_PLUGIN_PLATFORM_NETBSD_BUILD OFF CACHE BOOL "") +set(LDB_PLUGIN_PLATFORM_OPENBSD_BUILD OFF CACHE BOOL "") +set(LDB_PLUGIN_PLATFORM_WINDOWS_BUILD OFF CACHE BOOL "") + +# Disable symbol file formats. +set(LDB_PLUGIN_SYMBOLFILE_BREAKPAD_BUILD OFF CACHE BOOL "") +set(LDB_PLUGIN_SYMBOLFILE_NATIVEPDB_BUILD OFF CACHE BOOL "") +set(LDB_PLUGIN_SYMBOLFILE_PDB_BUILD OFF CACHE BOOL "") + set(LLVM_DISTRIBUTION_COMPONENTS lldb liblldb Index: lldb/cmake/modules/AddLLDB.cmake =================================================================== --- lldb/cmake/modules/AddLLDB.cmake +++ lldb/cmake/modules/AddLLDB.cmake @@ -212,6 +212,12 @@ add_llvm_subdirectory(LLDB TOOL ${name}) endmacro() +macro(add_lldb_plugin_subdirectory name) + get_filename_component(plugin ${CMAKE_CURRENT_SOURCE_DIR} NAME) + string(TOUPPER ${plugin} pluginUPPER) + add_llvm_subdirectory(LLDB "PLUGIN_${pluginUPPER}" ${name}) +endmacro() + function(add_lldb_tool name) cmake_parse_arguments(ARG "ADD_TO_FRAMEWORK" "" "" ${ARGN}) if(LLDB_BUILD_FRAMEWORK AND ARG_ADD_TO_FRAMEWORK) Index: lldb/source/Plugins/ABI/CMakeLists.txt =================================================================== --- lldb/source/Plugins/ABI/CMakeLists.txt +++ lldb/source/Plugins/ABI/CMakeLists.txt @@ -1,31 +1,31 @@ if ("AArch64" IN_LIST LLVM_TARGETS_TO_BUILD) - add_subdirectory(MacOSX-arm64) - add_subdirectory(SysV-arm64) + add_lldb_plugin_subdirectory(MacOSX-arm64) + add_lldb_plugin_subdirectory(SysV-arm64) endif() if ("ARM" IN_LIST LLVM_TARGETS_TO_BUILD) - add_subdirectory(MacOSX-arm) - add_subdirectory(SysV-arm) + add_lldb_plugin_subdirectory(MacOSX-arm) + add_lldb_plugin_subdirectory(SysV-arm) endif() if ("ARC" IN_LIST LLVM_TARGETS_TO_BUILD) - add_subdirectory(SysV-arc) + add_lldb_plugin_subdirectory(SysV-arc) endif() if ("Hexagon" IN_LIST LLVM_TARGETS_TO_BUILD) - add_subdirectory(SysV-hexagon) + add_lldb_plugin_subdirectory(SysV-hexagon) endif() if ("Mips" IN_LIST LLVM_TARGETS_TO_BUILD) - add_subdirectory(SysV-mips) - add_subdirectory(SysV-mips64) + add_lldb_plugin_subdirectory(SysV-mips) + add_lldb_plugin_subdirectory(SysV-mips64) endif() if ("PowerPC" IN_LIST LLVM_TARGETS_TO_BUILD) - add_subdirectory(SysV-ppc) - add_subdirectory(SysV-ppc64) + add_lldb_plugin_subdirectory(SysV-ppc) + add_lldb_plugin_subdirectory(SysV-ppc64) endif() if ("SystemZ" IN_LIST LLVM_TARGETS_TO_BUILD) - add_subdirectory(SysV-s390x) + add_lldb_plugin_subdirectory(SysV-s390x) endif() if ("X86" IN_LIST LLVM_TARGETS_TO_BUILD) - add_subdirectory(SysV-i386) - add_subdirectory(SysV-x86_64) - add_subdirectory(MacOSX-i386) - add_subdirectory(Windows-x86_64) + add_lldb_plugin_subdirectory(SysV-i386) + add_lldb_plugin_subdirectory(SysV-x86_64) + add_lldb_plugin_subdirectory(MacOSX-i386) + add_lldb_plugin_subdirectory(Windows-x86_64) endif() Index: lldb/source/Plugins/Architecture/CMakeLists.txt =================================================================== --- lldb/source/Plugins/Architecture/CMakeLists.txt +++ lldb/source/Plugins/Architecture/CMakeLists.txt @@ -1,3 +1,3 @@ -add_subdirectory(Arm) -add_subdirectory(Mips) -add_subdirectory(PPC64) +add_lldb_plugin_subdirectory(Arm) +add_lldb_plugin_subdirectory(Mips) +add_lldb_plugin_subdirectory(PPC64) Index: lldb/source/Plugins/Disassembler/CMakeLists.txt =================================================================== --- lldb/source/Plugins/Disassembler/CMakeLists.txt +++ lldb/source/Plugins/Disassembler/CMakeLists.txt @@ -1 +1 @@ -add_subdirectory(llvm) +add_lldb_plugin_subdirectory(llvm) Index: lldb/source/Plugins/DynamicLoader/CMakeLists.txt =================================================================== --- lldb/source/Plugins/DynamicLoader/CMakeLists.txt +++ lldb/source/Plugins/DynamicLoader/CMakeLists.txt @@ -1,6 +1,6 @@ -add_subdirectory(Darwin-Kernel) -add_subdirectory(MacOSX-DYLD) -add_subdirectory(POSIX-DYLD) -add_subdirectory(Static) -add_subdirectory(Hexagon-DYLD) -add_subdirectory(Windows-DYLD) +add_lldb_plugin_subdirectory(Darwin-Kernel) +add_lldb_plugin_subdirectory(MacOSX-DYLD) +add_lldb_plugin_subdirectory(POSIX-DYLD) +add_lldb_plugin_subdirectory(Static) +add_lldb_plugin_subdirectory(Hexagon-DYLD) +add_lldb_plugin_subdirectory(Windows-DYLD) Index: lldb/source/Plugins/ExpressionParser/CMakeLists.txt =================================================================== --- lldb/source/Plugins/ExpressionParser/CMakeLists.txt +++ lldb/source/Plugins/ExpressionParser/CMakeLists.txt @@ -1 +1 @@ -add_subdirectory(Clang) +add_lldb_plugin_subdirectory(Clang) Index: lldb/source/Plugins/Instruction/CMakeLists.txt =================================================================== --- lldb/source/Plugins/Instruction/CMakeLists.txt +++ lldb/source/Plugins/Instruction/CMakeLists.txt @@ -1,5 +1,5 @@ -add_subdirectory(ARM) -add_subdirectory(ARM64) -add_subdirectory(MIPS) -add_subdirectory(MIPS64) -add_subdirectory(PPC64) +add_lldb_plugin_subdirectory(ARM) +add_lldb_plugin_subdirectory(ARM64) +add_lldb_plugin_subdirectory(MIPS) +add_lldb_plugin_subdirectory(MIPS64) +add_lldb_plugin_subdirectory(PPC64) Index: lldb/source/Plugins/InstrumentationRuntime/CMakeLists.txt =================================================================== --- lldb/source/Plugins/InstrumentationRuntime/CMakeLists.txt +++ lldb/source/Plugins/InstrumentationRuntime/CMakeLists.txt @@ -1,4 +1,4 @@ -add_subdirectory(ASan) -add_subdirectory(MainThreadChecker) -add_subdirectory(TSan) -add_subdirectory(UBSan) +add_lldb_plugin_subdirectory(ASan) +add_lldb_plugin_subdirectory(MainThreadChecker) +add_lldb_plugin_subdirectory(TSan) +add_lldb_plugin_subdirectory(UBSan) Index: lldb/source/Plugins/JITLoader/CMakeLists.txt =================================================================== --- lldb/source/Plugins/JITLoader/CMakeLists.txt +++ lldb/source/Plugins/JITLoader/CMakeLists.txt @@ -1 +1 @@ -add_subdirectory(GDB) +add_lldb_plugin_subdirectory(GDB) Index: lldb/source/Plugins/Language/CMakeLists.txt =================================================================== --- lldb/source/Plugins/Language/CMakeLists.txt +++ lldb/source/Plugins/Language/CMakeLists.txt @@ -1,4 +1,4 @@ -add_subdirectory(ClangCommon) -add_subdirectory(CPlusPlus) -add_subdirectory(ObjC) -add_subdirectory(ObjCPlusPlus) +add_lldb_plugin_subdirectory(ClangCommon) +add_lldb_plugin_subdirectory(CPlusPlus) +add_lldb_plugin_subdirectory(ObjC) +add_lldb_plugin_subdirectory(ObjCPlusPlus) Index: lldb/source/Plugins/LanguageRuntime/CMakeLists.txt =================================================================== --- lldb/source/Plugins/LanguageRuntime/CMakeLists.txt +++ lldb/source/Plugins/LanguageRuntime/CMakeLists.txt @@ -1,3 +1,3 @@ -add_subdirectory(CPlusPlus) -add_subdirectory(ObjC) -add_subdirectory(RenderScript) +add_lldb_plugin_subdirectory(CPlusPlus) +add_lldb_plugin_subdirectory(ObjC) +add_lldb_plugin_subdirectory(RenderScript) Index: lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt =================================================================== --- lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt +++ lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt @@ -7,5 +7,5 @@ lldbTarget ) -add_subdirectory(ItaniumABI) -#add_subdirectory(MicrosoftABI) +add_lldb_plugin_subdirectory(ItaniumABI) +#add_lldb_plugin_subdirectory(MicrosoftABI) Index: lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt =================================================================== --- lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt +++ lldb/source/Plugins/LanguageRuntime/ObjC/CMakeLists.txt @@ -7,4 +7,4 @@ lldbTarget lldbUtility ) -add_subdirectory(AppleObjCRuntime) +add_lldb_plugin_subdirectory(AppleObjCRuntime) Index: lldb/source/Plugins/LanguageRuntime/RenderScript/CMakeLists.txt =================================================================== --- lldb/source/Plugins/LanguageRuntime/RenderScript/CMakeLists.txt +++ lldb/source/Plugins/LanguageRuntime/RenderScript/CMakeLists.txt @@ -1 +1 @@ -add_subdirectory(RenderScriptRuntime) +add_lldb_plugin_subdirectory(RenderScriptRuntime) Index: lldb/source/Plugins/MemoryHistory/CMakeLists.txt =================================================================== --- lldb/source/Plugins/MemoryHistory/CMakeLists.txt +++ lldb/source/Plugins/MemoryHistory/CMakeLists.txt @@ -1 +1 @@ -add_subdirectory(asan) +add_lldb_plugin_subdirectory(asan) Index: lldb/source/Plugins/ObjectContainer/CMakeLists.txt =================================================================== --- lldb/source/Plugins/ObjectContainer/CMakeLists.txt +++ lldb/source/Plugins/ObjectContainer/CMakeLists.txt @@ -1,2 +1,2 @@ -add_subdirectory(BSD-Archive) -add_subdirectory(Universal-Mach-O) +add_lldb_plugin_subdirectory(BSD-Archive) +add_lldb_plugin_subdirectory(Universal-Mach-O) Index: lldb/source/Plugins/ObjectFile/CMakeLists.txt =================================================================== --- lldb/source/Plugins/ObjectFile/CMakeLists.txt +++ lldb/source/Plugins/ObjectFile/CMakeLists.txt @@ -1,6 +1,6 @@ -add_subdirectory(Breakpad) -add_subdirectory(ELF) -add_subdirectory(Mach-O) -add_subdirectory(PECOFF) -add_subdirectory(JIT) -add_subdirectory(wasm) \ No newline at end of file +add_lldb_plugin_subdirectory(Breakpad) +add_lldb_plugin_subdirectory(ELF) +add_lldb_plugin_subdirectory(Mach-O) +add_lldb_plugin_subdirectory(PECOFF) +add_lldb_plugin_subdirectory(JIT) +add_lldb_plugin_subdirectory(wasm) Index: lldb/source/Plugins/OperatingSystem/CMakeLists.txt =================================================================== --- lldb/source/Plugins/OperatingSystem/CMakeLists.txt +++ lldb/source/Plugins/OperatingSystem/CMakeLists.txt @@ -1 +1 @@ -add_subdirectory(Python) +add_lldb_plugin_subdirectory(Python) Index: lldb/source/Plugins/Platform/CMakeLists.txt =================================================================== --- lldb/source/Plugins/Platform/CMakeLists.txt +++ lldb/source/Plugins/Platform/CMakeLists.txt @@ -1,17 +1,17 @@ #if (CMAKE_SYSTEM_NAME MATCHES "Linux") - add_subdirectory(Linux) + add_lldb_plugin_subdirectory(Linux) #elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") - add_subdirectory(FreeBSD) + add_lldb_plugin_subdirectory(FreeBSD) #elseif (CMAKE_SYSTEM_NAME MATCHES "NetBSD") - add_subdirectory(NetBSD) + add_lldb_plugin_subdirectory(NetBSD) #elseif (CMAKE_SYSTEM_NAME MATCHES "OpenBSD") - add_subdirectory(OpenBSD) + add_lldb_plugin_subdirectory(OpenBSD) #elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin") - add_subdirectory(MacOSX) + add_lldb_plugin_subdirectory(MacOSX) #elseif (CMAKE_SYSTEM_NAME MATCHES "Windows") - add_subdirectory(Windows) + add_lldb_plugin_subdirectory(Windows) #endif() -add_subdirectory(POSIX) -add_subdirectory(gdb-server) -add_subdirectory(Android) +add_lldb_plugin_subdirectory(POSIX) +add_lldb_plugin_subdirectory(gdb-server) +add_lldb_plugin_subdirectory(Android) Index: lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt =================================================================== --- lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt +++ lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt @@ -26,7 +26,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Darwin") include_directories(${LIBXML2_INCLUDE_DIR}) - add_subdirectory(objcxx) + add_lldb_plugin_subdirectory(objcxx) set(OBJC_LIBS "lldbPluginPlatformMacOSXObjCXX") list(APPEND PLUGIN_PLATFORM_MACOSX_SOURCES ${PLUGIN_PLATFORM_MACOSX_DARWIN_ONLY_SOURCES}) Index: lldb/source/Plugins/Process/CMakeLists.txt =================================================================== --- lldb/source/Plugins/Process/CMakeLists.txt +++ lldb/source/Plugins/Process/CMakeLists.txt @@ -1,19 +1,19 @@ if (CMAKE_SYSTEM_NAME MATCHES "Linux|Android") - add_subdirectory(Linux) - add_subdirectory(POSIX) + add_lldb_plugin_subdirectory(Linux) + add_lldb_plugin_subdirectory(POSIX) elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") - add_subdirectory(FreeBSD) - add_subdirectory(POSIX) + add_lldb_plugin_subdirectory(FreeBSD) + add_lldb_plugin_subdirectory(POSIX) elseif (CMAKE_SYSTEM_NAME MATCHES "NetBSD") - add_subdirectory(NetBSD) - add_subdirectory(POSIX) + add_lldb_plugin_subdirectory(NetBSD) + add_lldb_plugin_subdirectory(POSIX) elseif (CMAKE_SYSTEM_NAME MATCHES "Windows") - add_subdirectory(Windows/Common) + add_lldb_plugin_subdirectory(Windows/Common) elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin") - add_subdirectory(MacOSX-Kernel) + add_lldb_plugin_subdirectory(MacOSX-Kernel) endif() -add_subdirectory(gdb-remote) -add_subdirectory(Utility) -add_subdirectory(elf-core) -add_subdirectory(mach-core) -add_subdirectory(minidump) +add_lldb_plugin_subdirectory(gdb-remote) +add_lldb_plugin_subdirectory(Utility) +add_lldb_plugin_subdirectory(elf-core) +add_lldb_plugin_subdirectory(mach-core) +add_lldb_plugin_subdirectory(minidump) Index: lldb/source/Plugins/ScriptInterpreter/CMakeLists.txt =================================================================== --- lldb/source/Plugins/ScriptInterpreter/CMakeLists.txt +++ lldb/source/Plugins/ScriptInterpreter/CMakeLists.txt @@ -1,8 +1,8 @@ -add_subdirectory(None) +add_lldb_plugin_subdirectory(None) if (LLDB_ENABLE_PYTHON) - add_subdirectory(Python) + add_lldb_plugin_subdirectory(Python) endif() if (LLDB_ENABLE_LUA) - add_subdirectory(Lua) + add_lldb_plugin_subdirectory(Lua) endif() Index: lldb/source/Plugins/ScriptInterpreter/None/CMakeLists.txt =================================================================== --- lldb/source/Plugins/ScriptInterpreter/None/CMakeLists.txt +++ lldb/source/Plugins/ScriptInterpreter/None/CMakeLists.txt @@ -4,4 +4,4 @@ LINK_LIBS lldbCore lldbInterpreter - ) \ No newline at end of file + ) Index: lldb/source/Plugins/StructuredData/CMakeLists.txt =================================================================== --- lldb/source/Plugins/StructuredData/CMakeLists.txt +++ lldb/source/Plugins/StructuredData/CMakeLists.txt @@ -1,2 +1,2 @@ -add_subdirectory(DarwinLog) +add_lldb_plugin_subdirectory(DarwinLog) Index: lldb/source/Plugins/SymbolFile/CMakeLists.txt =================================================================== --- lldb/source/Plugins/SymbolFile/CMakeLists.txt +++ lldb/source/Plugins/SymbolFile/CMakeLists.txt @@ -1,5 +1,5 @@ -add_subdirectory(Breakpad) -add_subdirectory(DWARF) -add_subdirectory(Symtab) -add_subdirectory(NativePDB) -add_subdirectory(PDB) +add_lldb_plugin_subdirectory(Breakpad) +add_lldb_plugin_subdirectory(DWARF) +add_lldb_plugin_subdirectory(Symtab) +add_lldb_plugin_subdirectory(NativePDB) +add_lldb_plugin_subdirectory(PDB) Index: lldb/source/Plugins/SymbolVendor/CMakeLists.txt =================================================================== --- lldb/source/Plugins/SymbolVendor/CMakeLists.txt +++ lldb/source/Plugins/SymbolVendor/CMakeLists.txt @@ -1,6 +1,6 @@ if (CMAKE_SYSTEM_NAME MATCHES "Darwin") - add_subdirectory(MacOSX) + add_lldb_plugin_subdirectory(MacOSX) endif() -add_subdirectory(ELF) -add_subdirectory(wasm) +add_lldb_plugin_subdirectory(ELF) +add_lldb_plugin_subdirectory(wasm) Index: lldb/source/Plugins/SystemRuntime/CMakeLists.txt =================================================================== --- lldb/source/Plugins/SystemRuntime/CMakeLists.txt +++ lldb/source/Plugins/SystemRuntime/CMakeLists.txt @@ -1 +1 @@ -add_subdirectory(MacOSX) +add_lldb_plugin_subdirectory(MacOSX) Index: lldb/source/Plugins/UnwindAssembly/CMakeLists.txt =================================================================== --- lldb/source/Plugins/UnwindAssembly/CMakeLists.txt +++ lldb/source/Plugins/UnwindAssembly/CMakeLists.txt @@ -1,2 +1,2 @@ -add_subdirectory(InstEmulation) -add_subdirectory(x86) +add_lldb_plugin_subdirectory(InstEmulation) +add_lldb_plugin_subdirectory(x86)