forked from OSchip/llvm-project
Specify the dependencies of lldb-server manually
Summary: This basically just inlines the LLDBDependencies.cmake file into lldb-server CMakeLists.txt. The reason is that most of these dependencies are not actually necessary for lldb-server (some of them can't be removed because of cross-dependencies, but most of the plugins can). I intend to start cleaning these up in follow-up commits, but I want to do this first, so the subsequent ones can be easily reverted if they don't build in some configurations. When I cleaned these up locally, I was able to get a 30%--50% improvement in lldb-server size. Reviewers: zturner, beanz, tfiala Subscribers: danalbert, srhines, lldb-commits, mgorny Differential Revision: https://reviews.llvm.org/D26975 llvm-svn: 288159
This commit is contained in:
parent
9d03c03858
commit
393982ef0c
|
@ -23,7 +23,215 @@ endif ()
|
|||
|
||||
include_directories(../../source)
|
||||
|
||||
include(../../cmake/LLDBDependencies.cmake)
|
||||
|
||||
set( LLDB_USED_LIBS
|
||||
lldbBase
|
||||
lldbBreakpoint
|
||||
lldbCommands
|
||||
lldbDataFormatters
|
||||
lldbHost
|
||||
lldbCore
|
||||
lldbExpression
|
||||
lldbInitialization
|
||||
lldbInterpreter
|
||||
lldbSymbol
|
||||
lldbTarget
|
||||
lldbUtility
|
||||
|
||||
# Plugins
|
||||
lldbPluginDisassemblerLLVM
|
||||
lldbPluginSymbolFileDWARF
|
||||
lldbPluginSymbolFilePDB
|
||||
lldbPluginSymbolFileSymtab
|
||||
lldbPluginDynamicLoaderStatic
|
||||
lldbPluginDynamicLoaderPosixDYLD
|
||||
lldbPluginDynamicLoaderHexagonDYLD
|
||||
lldbPluginDynamicLoaderWindowsDYLD
|
||||
|
||||
lldbPluginCPlusPlusLanguage
|
||||
lldbPluginGoLanguage
|
||||
lldbPluginJavaLanguage
|
||||
lldbPluginObjCLanguage
|
||||
lldbPluginObjCPlusPlusLanguage
|
||||
lldbPluginOCamlLanguage
|
||||
|
||||
lldbPluginObjectFileELF
|
||||
lldbPluginObjectFileJIT
|
||||
lldbPluginSymbolVendorELF
|
||||
lldbPluginObjectContainerBSDArchive
|
||||
lldbPluginObjectContainerMachOArchive
|
||||
lldbPluginProcessGDBRemote
|
||||
lldbPluginProcessUtility
|
||||
lldbPluginPlatformAndroid
|
||||
lldbPluginPlatformGDB
|
||||
lldbPluginPlatformFreeBSD
|
||||
lldbPluginPlatformKalimba
|
||||
lldbPluginPlatformLinux
|
||||
lldbPluginPlatformNetBSD
|
||||
lldbPluginPlatformPOSIX
|
||||
lldbPluginPlatformWindows
|
||||
lldbPluginObjectContainerMachOArchive
|
||||
lldbPluginObjectContainerBSDArchive
|
||||
lldbPluginPlatformMacOSX
|
||||
lldbPluginStructuredDataDarwinLog
|
||||
lldbPluginDynamicLoaderMacOSXDYLD
|
||||
lldbPluginUnwindAssemblyInstEmulation
|
||||
lldbPluginUnwindAssemblyX86
|
||||
lldbPluginAppleObjCRuntime
|
||||
lldbPluginRenderScriptRuntime
|
||||
lldbPluginLanguageRuntimeGo
|
||||
lldbPluginLanguageRuntimeJava
|
||||
lldbPluginCXXItaniumABI
|
||||
lldbPluginABIMacOSX_arm
|
||||
lldbPluginABIMacOSX_arm64
|
||||
lldbPluginABIMacOSX_i386
|
||||
lldbPluginABISysV_arm
|
||||
lldbPluginABISysV_arm64
|
||||
lldbPluginABISysV_i386
|
||||
lldbPluginABISysV_x86_64
|
||||
lldbPluginABISysV_hexagon
|
||||
lldbPluginABISysV_ppc
|
||||
lldbPluginABISysV_ppc64
|
||||
lldbPluginABISysV_mips
|
||||
lldbPluginABISysV_mips64
|
||||
lldbPluginABISysV_s390x
|
||||
lldbPluginInstructionARM
|
||||
lldbPluginInstructionARM64
|
||||
lldbPluginInstructionMIPS
|
||||
lldbPluginInstructionMIPS64
|
||||
lldbPluginObjectFilePECOFF
|
||||
lldbPluginOSGo
|
||||
lldbPluginOSPython
|
||||
lldbPluginMemoryHistoryASan
|
||||
lldbPluginInstrumentationRuntimeAddressSanitizer
|
||||
lldbPluginInstrumentationRuntimeThreadSanitizer
|
||||
lldbPluginSystemRuntimeMacOSX
|
||||
lldbPluginProcessElfCore
|
||||
lldbPluginProcessMinidump
|
||||
lldbPluginJITLoaderGDB
|
||||
lldbPluginExpressionParserClang
|
||||
lldbPluginExpressionParserGo
|
||||
)
|
||||
|
||||
# Windows-only libraries
|
||||
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
|
||||
list(APPEND LLDB_USED_LIBS
|
||||
lldbPluginProcessWindows
|
||||
lldbPluginProcessWindowsCommon
|
||||
Ws2_32
|
||||
Rpcrt4
|
||||
)
|
||||
endif ()
|
||||
|
||||
# Linux-only libraries
|
||||
if ( CMAKE_SYSTEM_NAME MATCHES "Linux" )
|
||||
list(APPEND LLDB_USED_LIBS
|
||||
lldbPluginProcessLinux
|
||||
lldbPluginProcessPOSIX
|
||||
)
|
||||
endif ()
|
||||
|
||||
# FreeBSD-only libraries
|
||||
if ( CMAKE_SYSTEM_NAME MATCHES "FreeBSD" )
|
||||
list(APPEND LLDB_USED_LIBS
|
||||
lldbPluginProcessFreeBSD
|
||||
lldbPluginProcessPOSIX
|
||||
)
|
||||
endif ()
|
||||
|
||||
# NetBSD-only libraries
|
||||
if ( CMAKE_SYSTEM_NAME MATCHES "NetBSD" )
|
||||
list(APPEND LLDB_USED_LIBS
|
||||
lldbPluginProcessPOSIX
|
||||
)
|
||||
endif ()
|
||||
|
||||
# Darwin-only libraries
|
||||
if ( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
|
||||
list(APPEND LLDB_USED_LIBS
|
||||
lldbPluginDynamicLoaderDarwinKernel
|
||||
lldbPluginObjectFileMachO
|
||||
lldbPluginProcessMachCore
|
||||
lldbPluginProcessMacOSXKernel
|
||||
lldbPluginSymbolVendorMacOSX
|
||||
)
|
||||
endif()
|
||||
|
||||
set( CLANG_USED_LIBS
|
||||
clangAnalysis
|
||||
clangAST
|
||||
clangBasic
|
||||
clangCodeGen
|
||||
clangDriver
|
||||
clangEdit
|
||||
clangFrontend
|
||||
clangLex
|
||||
clangParse
|
||||
clangRewrite
|
||||
clangRewriteFrontend
|
||||
clangSema
|
||||
clangSerialization
|
||||
)
|
||||
|
||||
set(LLDB_SYSTEM_LIBS)
|
||||
if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows" AND NOT __ANDROID_NDK__)
|
||||
if (NOT LLDB_DISABLE_LIBEDIT)
|
||||
list(APPEND LLDB_SYSTEM_LIBS edit)
|
||||
endif()
|
||||
if (NOT LLDB_DISABLE_CURSES)
|
||||
list(APPEND LLDB_SYSTEM_LIBS ${CURSES_LIBRARIES})
|
||||
if(LLVM_ENABLE_TERMINFO AND HAVE_TERMINFO)
|
||||
list(APPEND LLDB_SYSTEM_LIBS ${TERMINFO_LIBS})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB )
|
||||
list(APPEND LLDB_SYSTEM_LIBS atomic)
|
||||
endif()
|
||||
|
||||
# On FreeBSD/NetBSD backtrace() is provided by libexecinfo, not libc.
|
||||
if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD")
|
||||
list(APPEND LLDB_SYSTEM_LIBS execinfo)
|
||||
endif()
|
||||
|
||||
if (NOT LLDB_DISABLE_PYTHON AND NOT LLVM_BUILD_STATIC)
|
||||
list(APPEND LLDB_SYSTEM_LIBS ${PYTHON_LIBRARIES})
|
||||
endif()
|
||||
|
||||
list(APPEND LLDB_SYSTEM_LIBS ${system_libs})
|
||||
|
||||
if (LLVM_BUILD_STATIC)
|
||||
if (NOT LLDB_DISABLE_PYTHON)
|
||||
list(APPEND LLDB_SYSTEM_LIBS python2.7 util)
|
||||
endif()
|
||||
if (NOT LLDB_DISABLE_CURSES)
|
||||
list(APPEND LLDB_SYSTEM_LIBS gpm)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(LLVM_LINK_COMPONENTS
|
||||
${LLVM_TARGETS_TO_BUILD}
|
||||
interpreter
|
||||
asmparser
|
||||
bitreader
|
||||
bitwriter
|
||||
codegen
|
||||
demangle
|
||||
ipo
|
||||
selectiondag
|
||||
bitreader
|
||||
mc
|
||||
mcjit
|
||||
core
|
||||
mcdisassembler
|
||||
executionengine
|
||||
runtimedyld
|
||||
option
|
||||
support
|
||||
coverage
|
||||
target
|
||||
)
|
||||
|
||||
add_lldb_executable(lldb-server INCLUDE_IN_FRAMEWORK
|
||||
Acceptor.cpp
|
||||
|
|
Loading…
Reference in New Issue