xref: /llvm-project/llvm/utils/gn/secondary/lldb/source/Core/BUILD.gn (revision 5827334ed2c68a660ac73ae251f974333310d30b)
1import("//lldb/utils/TableGen/lldb_tablegen.gni")
2
3lldb_tablegen("CoreProperties") {
4  args = [ "-gen-lldb-property-defs" ]
5}
6
7lldb_tablegen("CorePropertiesEnum") {
8  args = [ "-gen-lldb-property-enum-defs" ]
9  td_file = "CoreProperties.td"
10}
11
12static_library("Core") {
13  output_name = "lldbCore"
14  configs += [
15    "//llvm/utils/gn/build:clang_code",
16    "//llvm/utils/gn/build:lldb_code",
17  ]
18  deps = [
19    ":CoreProperties",
20    ":CorePropertiesEnum",
21    "//clang/lib/Driver",
22
23    #"//lldb/source/Breakpoint", # Dependency cycle.
24    #"//lldb/source/DataFormatters", # Dependency cycle.
25    #"//lldb/source/Expression", # Dependency cycle.
26    "//lldb/source/Host",
27    "//lldb/source/ValueObject",
28
29    #"//lldb/source/Interpreter", # Dependency cycle.
30    #"//lldb/source/Symbol", # Dependency cycle.
31    #"//lldb/source/Target", # Dependency cycle.
32    "//lldb/source/Utility",
33    "//llvm/lib/Demangle",
34    "//llvm/lib/Support",
35    "//llvm/lib/TargetParser",
36
37    #"//lldb/source/Plugins/Language/CPlusPlus", # 3-hop dependency cycle.
38    #"//lldb/source/Plugins/Language/ObjC",  # Many-hop dependency cycle.
39
40    # FIXME:
41    #  ${LLDB_CURSES_LIBS}
42  ]
43
44  # FIXME: Link curses, libedit if needed.
45  include_dirs = [ ".." ]
46  sources = [
47    "Address.cpp",
48    "AddressRange.cpp",
49    "AddressRangeListImpl.cpp",
50    "AddressResolver.cpp",
51    "AddressResolverFileLine.cpp",
52    "Communication.cpp",
53    "DataFileCache.cpp",
54    "Debugger.cpp",
55    "DebuggerEvents.cpp",
56    "Declaration.cpp",
57    "Disassembler.cpp",
58    "DumpDataExtractor.cpp",
59    "DumpRegisterInfo.cpp",
60    "DumpRegisterValue.cpp",
61    "DynamicLoader.cpp",
62    "EmulateInstruction.cpp",
63    "FileLineResolver.cpp",
64    "FormatEntity.cpp",
65    "Highlighter.cpp",
66    "IOHandler.cpp",
67    "IOHandlerCursesGUI.cpp",
68    "Mangled.cpp",
69    "Module.cpp",
70    "ModuleChild.cpp",
71    "ModuleList.cpp",
72    "Opcode.cpp",
73    "PluginManager.cpp",
74    "Progress.cpp",
75    "RichManglingContext.cpp",
76    "SearchFilter.cpp",
77    "Section.cpp",
78    "SourceLocationSpec.cpp",
79    "SourceManager.cpp",
80    "StreamAsynchronousIO.cpp",
81    "ThreadedCommunication.cpp",
82    "UserSettingsController.cpp",
83    "Value.cpp",
84  ]
85}
86