xref: /llvm-project/llvm/utils/gn/secondary/lldb/source/API/BUILD.gn (revision 580ba2eed29a18c75727e1cad910b8cfb4cfca59)
1# The LLDB_IN_LIBLLDB setup requires that liblldb is a shared_library
2# on Windows.
3# FIXME: Consider making it a shared_library everywhere like in cmake?
4# (Having it a static_library is simpler -- no need for
5# -Wl,-runpath=$ORIGIN/../lib in executables on unix or the corresponding @loader_path on mac,
6# no need for .exports files, etc.)
7if (current_os == "win") {
8  liblldb_type = "shared_library"
9} else {
10  liblldb_type = "static_library"
11}
12
13target(liblldb_type, "liblldb") {
14  # XXX LLDB_BUILD_FRAMEWORK
15  # XXX LLDB_ENABLE_PYTHON
16  # XXX LLDB_ENABLE_LUA
17
18  output_name = "liblldb"  # XXX lib prefix?
19  configs += [ "//llvm/utils/gn/build:lldb_code" ]
20  public_deps = [ "//lldb/include/lldb/API:SBLanguages" ]
21  deps = [
22    "//lldb/include/lldb/Host:Config",
23    "//lldb/source/Breakpoint",
24    "//lldb/source/Core",
25    "//lldb/source/DataFormatters",
26    "//lldb/source/Expression",
27    "//lldb/source/Host",
28    "//lldb/source/Initialization",
29    "//lldb/source/Interpreter",
30    "//lldb/source/Plugins:LldbAllPlugins",
31    "//lldb/source/Symbol",
32    "//lldb/source/Target",
33    "//lldb/source/Utility",
34    "//lldb/source/ValueObject",
35    "//lldb/source/Version",
36    "//lldb/tools/argdumper:lldb-argdumper",
37    "//llvm/lib/Support",
38  ]
39
40  # SBTarget.cpp includes Commands-internal header Commands/CommandObjectBreakpoint.h
41  include_dirs = [ ".." ]
42  sources = [
43    "SBAddress.cpp",
44    "SBAddressRange.cpp",
45    "SBAddressRangeList.cpp",
46    "SBAttachInfo.cpp",
47    "SBBlock.cpp",
48    "SBBreakpoint.cpp",
49    "SBBreakpointLocation.cpp",
50    "SBBreakpointName.cpp",
51    "SBBreakpointOptionCommon.cpp",
52    "SBBroadcaster.cpp",
53    "SBCommandInterpreter.cpp",
54    "SBCommandInterpreterRunOptions.cpp",
55    "SBCommandReturnObject.cpp",
56    "SBCommunication.cpp",
57    "SBCompileUnit.cpp",
58    "SBData.cpp",
59    "SBDebugger.cpp",
60    "SBDeclaration.cpp",
61    "SBEnvironment.cpp",
62    "SBError.cpp",
63    "SBEvent.cpp",
64    "SBExecutionContext.cpp",
65    "SBExpressionOptions.cpp",
66    "SBFile.cpp",
67    "SBFileSpec.cpp",
68    "SBFileSpecList.cpp",
69    "SBFormat.cpp",
70    "SBFrame.cpp",
71    "SBFunction.cpp",
72    "SBHostOS.cpp",
73    "SBInstruction.cpp",
74    "SBInstructionList.cpp",
75    "SBLanguageRuntime.cpp",
76    "SBLaunchInfo.cpp",
77    "SBLineEntry.cpp",
78    "SBListener.cpp",
79    "SBMemoryRegionInfo.cpp",
80    "SBMemoryRegionInfoList.cpp",
81    "SBModule.cpp",
82    "SBModuleSpec.cpp",
83    "SBPlatform.cpp",
84    "SBProcess.cpp",
85    "SBProcessInfo.cpp",
86    "SBProcessInfoList.cpp",
87    "SBProgress.cpp",
88    "SBQueue.cpp",
89    "SBQueueItem.cpp",
90    "SBReproducer.cpp",
91    "SBSaveCoreOptions.cpp",
92    "SBScriptObject.cpp",
93    "SBSection.cpp",
94    "SBSourceManager.cpp",
95    "SBStatisticsOptions.cpp",
96    "SBStream.cpp",
97    "SBStringList.cpp",
98    "SBStructuredData.cpp",
99    "SBSymbol.cpp",
100    "SBSymbolContext.cpp",
101    "SBSymbolContextList.cpp",
102    "SBTarget.cpp",
103    "SBThread.cpp",
104    "SBThreadCollection.cpp",
105    "SBThreadPlan.cpp",
106    "SBTrace.cpp",
107    "SBTraceCursor.cpp",
108    "SBType.cpp",
109    "SBTypeCategory.cpp",
110    "SBTypeEnumMember.cpp",
111    "SBTypeFilter.cpp",
112    "SBTypeFormat.cpp",
113    "SBTypeNameSpecifier.cpp",
114    "SBTypeSummary.cpp",
115    "SBTypeSynthetic.cpp",
116    "SBUnixSignals.cpp",
117    "SBValue.cpp",
118    "SBValueList.cpp",
119    "SBVariablesOptions.cpp",
120    "SBWatchpoint.cpp",
121    "SBWatchpointOptions.cpp",
122    "SystemInitializerFull.cpp",
123  ]
124
125  if (current_os == "win") {
126    defines = [ "LLDB_IN_LIBLLDB" ]
127  }
128
129  # XXX liblldb.exports or liblldb-private.expoorts
130  # XXX dep on clang resource directory
131}
132