Index: tools/lldb-server/CMakeLists.txt =================================================================== --- tools/lldb-server/CMakeLists.txt +++ tools/lldb-server/CMakeLists.txt @@ -23,7 +23,215 @@ 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