]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - cmake/LLDBDependencies.cmake
Vendor import of lldb release_39 branch r276489:
[FreeBSD/FreeBSD.git] / cmake / LLDBDependencies.cmake
1 set( LLDB_USED_LIBS
2   lldbBase
3   lldbBreakpoint
4   lldbCommands
5   lldbDataFormatters
6   lldbHost
7   lldbCore
8   lldbExpression
9   lldbInitialization
10   lldbInterpreter
11   lldbSymbol
12   lldbTarget
13   lldbUtility
14
15   # Plugins
16   lldbPluginDisassemblerLLVM
17   lldbPluginSymbolFileDWARF
18   lldbPluginSymbolFilePDB
19   lldbPluginSymbolFileSymtab
20   lldbPluginDynamicLoaderStatic
21   lldbPluginDynamicLoaderPosixDYLD
22   lldbPluginDynamicLoaderHexagonDYLD
23   lldbPluginDynamicLoaderWindowsDYLD
24   
25   lldbPluginCPlusPlusLanguage
26   lldbPluginGoLanguage
27   lldbPluginJavaLanguage
28   lldbPluginObjCLanguage
29   lldbPluginObjCPlusPlusLanguage
30
31   lldbPluginObjectFileELF
32   lldbPluginObjectFileJIT
33   lldbPluginSymbolVendorELF
34   lldbPluginObjectContainerBSDArchive
35   lldbPluginObjectContainerMachOArchive
36   lldbPluginProcessGDBRemote
37   lldbPluginProcessUtility
38   lldbPluginPlatformAndroid
39   lldbPluginPlatformGDB
40   lldbPluginPlatformFreeBSD
41   lldbPluginPlatformKalimba
42   lldbPluginPlatformLinux
43   lldbPluginPlatformNetBSD
44   lldbPluginPlatformPOSIX
45   lldbPluginPlatformWindows
46   lldbPluginObjectContainerMachOArchive
47   lldbPluginObjectContainerBSDArchive
48   lldbPluginPlatformMacOSX
49   lldbPluginDynamicLoaderMacOSXDYLD
50   lldbPluginUnwindAssemblyInstEmulation
51   lldbPluginUnwindAssemblyX86
52   lldbPluginAppleObjCRuntime
53   lldbPluginRenderScriptRuntime
54   lldbPluginLanguageRuntimeGo
55   lldbPluginLanguageRuntimeJava
56   lldbPluginCXXItaniumABI
57   lldbPluginABIMacOSX_arm
58   lldbPluginABIMacOSX_arm64
59   lldbPluginABIMacOSX_i386
60   lldbPluginABISysV_arm
61   lldbPluginABISysV_arm64
62   lldbPluginABISysV_i386
63   lldbPluginABISysV_x86_64
64   lldbPluginABISysV_hexagon
65   lldbPluginABISysV_ppc
66   lldbPluginABISysV_ppc64
67   lldbPluginABISysV_mips
68   lldbPluginABISysV_mips64
69   lldbPluginABISysV_s390x
70   lldbPluginInstructionARM
71   lldbPluginInstructionARM64
72   lldbPluginInstructionMIPS
73   lldbPluginInstructionMIPS64
74   lldbPluginObjectFilePECOFF
75   lldbPluginOSGo
76   lldbPluginOSPython
77   lldbPluginMemoryHistoryASan
78   lldbPluginInstrumentationRuntimeAddressSanitizer
79   lldbPluginInstrumentationRuntimeThreadSanitizer
80   lldbPluginSystemRuntimeMacOSX
81   lldbPluginProcessElfCore
82   lldbPluginJITLoaderGDB
83   lldbPluginExpressionParserClang
84   lldbPluginExpressionParserGo
85   )
86
87 # Windows-only libraries
88 if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
89   list(APPEND LLDB_USED_LIBS
90     lldbPluginProcessWindows
91     lldbPluginProcessWinMiniDump
92     lldbPluginProcessWindowsCommon
93     Ws2_32
94     Rpcrt4
95     )
96 endif ()
97
98 # Linux-only libraries
99 if ( CMAKE_SYSTEM_NAME MATCHES "Linux" )
100   list(APPEND LLDB_USED_LIBS
101     lldbPluginProcessLinux
102     lldbPluginProcessPOSIX
103    )
104 endif ()
105
106 # FreeBSD-only libraries
107 if ( CMAKE_SYSTEM_NAME MATCHES "FreeBSD" )
108   list(APPEND LLDB_USED_LIBS
109     lldbPluginProcessFreeBSD
110     lldbPluginProcessPOSIX
111     )
112 endif ()
113
114 # NetBSD-only libraries
115 if ( CMAKE_SYSTEM_NAME MATCHES "NetBSD" )
116   list(APPEND LLDB_USED_LIBS
117     lldbPluginProcessPOSIX
118     )
119 endif ()
120
121 # Darwin-only libraries
122 if ( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
123   list(APPEND LLDB_USED_LIBS
124     lldbPluginDynamicLoaderDarwinKernel
125     lldbPluginObjectFileMachO
126     lldbPluginProcessMachCore
127     lldbPluginProcessMacOSXKernel
128     lldbPluginSymbolVendorMacOSX
129     )
130 endif()
131
132 set( CLANG_USED_LIBS
133   clangAnalysis
134   clangAST
135   clangBasic
136   clangCodeGen
137   clangDriver
138   clangEdit
139   clangFrontend
140   clangLex
141   clangParse
142   clangRewrite
143   clangRewriteFrontend
144   clangSema
145   clangSerialization
146   )
147
148 set(LLDB_SYSTEM_LIBS)
149 if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows" AND NOT __ANDROID_NDK__)
150   if (NOT LLDB_DISABLE_LIBEDIT)
151     list(APPEND LLDB_SYSTEM_LIBS edit)
152   endif()
153   if (NOT LLDB_DISABLE_CURSES)
154     list(APPEND LLDB_SYSTEM_LIBS ${CURSES_LIBRARIES})
155     if(LLVM_ENABLE_TERMINFO AND HAVE_TERMINFO)
156       list(APPEND LLDB_SYSTEM_LIBS ${TERMINFO_LIBS})
157     endif()
158   endif()
159 endif()
160
161 if (NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB )
162     list(APPEND LLDB_SYSTEM_LIBS atomic)
163 endif()
164
165 # On FreeBSD/NetBSD backtrace() is provided by libexecinfo, not libc.
166 if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD")
167   list(APPEND LLDB_SYSTEM_LIBS execinfo)
168 endif()
169
170 if (NOT LLDB_DISABLE_PYTHON AND NOT LLVM_BUILD_STATIC)
171   list(APPEND LLDB_SYSTEM_LIBS ${PYTHON_LIBRARIES})
172 endif()
173
174 list(APPEND LLDB_SYSTEM_LIBS ${system_libs})
175
176 if (LLVM_BUILD_STATIC)
177   if (NOT LLDB_DISABLE_PYTHON)
178     list(APPEND LLDB_SYSTEM_LIBS python2.7 util)
179   endif()
180   if (NOT LLDB_DISABLE_CURSES)
181     list(APPEND LLDB_SYSTEM_LIBS gpm)
182   endif()
183 endif()
184
185 set(LLVM_LINK_COMPONENTS
186   ${LLVM_TARGETS_TO_BUILD}
187   interpreter
188   asmparser
189   bitreader
190   bitwriter
191   codegen
192   ipo
193   selectiondag
194   bitreader
195   mc
196   mcjit
197   core
198   mcdisassembler
199   executionengine
200   runtimedyld
201   option
202   support
203   coverage
204   )
205
206 if ( NOT LLDB_DISABLE_PYTHON )
207   set(LLDB_WRAP_PYTHON ${LLDB_BINARY_DIR}/scripts/LLDBWrapPython.cpp)
208
209   set_source_files_properties(${LLDB_WRAP_PYTHON} PROPERTIES GENERATED 1)
210   if (CLANG_CL)
211     set_source_files_properties(${LLDB_WRAP_PYTHON} PROPERTIES COMPILE_FLAGS -Wno-unused-function)
212   endif()
213   if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND
214       NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
215     set_property(SOURCE ${LLDB_WRAP_PYTHON}
216                  APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-sequence-point -Wno-cast-qual")
217   endif ()
218 endif()