xref: /llvm-project/llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn (revision a6211a64dc22b11daa6f01122350a7287a593159)
1import("//lldb/include/lldb/Host/libedit.gni")
2
3static_library("Host") {
4  output_name = "lldbHost"
5  configs += [ "//llvm/utils/gn/build:lldb_code" ]
6  deps = [
7    "//lldb/include/lldb/Host:Config",
8    "//lldb/source/Utility",
9    "//llvm/lib/Object",
10    "//llvm/lib/Support",
11
12    # FIXME:
13    # LINK_LIBS
14    #   ${EXTRA_LIBS}
15    #   ${LLDBObjCLibs}
16  ]
17  public_deps = [ "//llvm/utils/gn/build/libs/xml" ]
18  sources = [
19    "aix/HostInfoAIX.cpp",
20    "common/Alarm.cpp",
21    "common/File.cpp",
22    "common/FileAction.cpp",
23    "common/FileCache.cpp",
24    "common/FileSystem.cpp",
25    "common/GetOptInc.cpp",
26    "common/Host.cpp",
27    "common/HostInfoBase.cpp",
28    "common/HostNativeThreadBase.cpp",
29    "common/HostProcess.cpp",
30    "common/HostThread.cpp",
31    "common/LZMA.cpp",
32    "common/LockFileBase.cpp",
33    "common/MainLoopBase.cpp",
34    "common/MonitoringProcessLauncher.cpp",
35    "common/NativeProcessProtocol.cpp",
36    "common/NativeRegisterContext.cpp",
37    "common/NativeThreadProtocol.cpp",
38    "common/NativeWatchpointList.cpp",
39    "common/OptionParser.cpp",
40    "common/PipeBase.cpp",
41    "common/ProcessLaunchInfo.cpp",
42    "common/ProcessRunLock.cpp",
43    "common/PseudoTerminal.cpp",
44    "common/Socket.cpp",
45    "common/SocketAddress.cpp",
46    "common/StreamFile.cpp",
47    "common/TCPSocket.cpp",
48    "common/Terminal.cpp",
49    "common/ThreadLauncher.cpp",
50    "common/UDPSocket.cpp",
51    "common/XML.cpp",
52    "common/ZipFileResolver.cpp",
53  ]
54
55  if (lldb_enable_libedit) {
56    libs = [ "edit" ]
57    sources += [ "common/Editline.cpp" ]
58    if (host_os == "mac") {
59      libs += [ "curses" ]  # For USE_SETUPTERM_WORKAROUND :/
60    }
61  }
62
63  sources += [ "posix/ConnectionFileDescriptorPosix.cpp" ]
64
65  if (current_os == "win") {
66    sources += [
67      "windows/ConnectionGenericFileWindows.cpp",
68      "windows/FileSystem.cpp",
69      "windows/Host.cpp",
70      "windows/HostInfoWindows.cpp",
71      "windows/HostProcessWindows.cpp",
72      "windows/HostThreadWindows.cpp",
73      "windows/LockFileWindows.cpp",
74      "windows/MainLoopWindows.cpp",
75      "windows/PipeWindows.cpp",
76      "windows/ProcessLauncherWindows.cpp",
77      "windows/ProcessRunLock.cpp",
78    ]
79  } else {
80    sources += [
81      "posix/DomainSocket.cpp",
82      "posix/FileSystemPosix.cpp",
83      "posix/HostInfoPosix.cpp",
84      "posix/HostProcessPosix.cpp",
85      "posix/HostThreadPosix.cpp",
86      "posix/LockFilePosix.cpp",
87      "posix/MainLoopPosix.cpp",
88      "posix/PipePosix.cpp",
89      "posix/ProcessLauncherPosixFork.cpp",
90    ]
91  }
92
93  if (current_os == "mac") {
94    sources += [
95      "macosx/cfcpp/CFCBundle.cpp",
96      "macosx/cfcpp/CFCData.cpp",
97      "macosx/cfcpp/CFCMutableArray.cpp",
98      "macosx/cfcpp/CFCMutableDictionary.cpp",
99      "macosx/cfcpp/CFCMutableSet.cpp",
100      "macosx/cfcpp/CFCString.cpp",
101    ]
102    deps += [ "macosx/objcxx" ]
103
104    # FIXME: Maybe define NO_XPC_SERVICES
105  }
106
107  if (current_os == "linux" || current_os == "android") {
108    sources += [
109      "linux/AbstractSocket.cpp",
110      "linux/Host.cpp",
111      "linux/HostInfoLinux.cpp",
112      "linux/LibcGlue.cpp",
113      "linux/Support.cpp",
114    ]
115  }
116  if (current_os == "android") {
117    sources += [ "android/HostInfoAndroid.cpp" ]
118  }
119
120  if (current_os == "freebsd") {
121    sources += [
122      "freebsd/Host.cpp",
123      "freebsd/HostInfoFreeBSD.cpp",
124    ]
125  }
126  if (current_os == "netbsd") {
127    sources += [
128      "netbsd/HostInfoNetBSD.cpp",
129      "netbsd/HostNetBSD.cpp",
130    ]
131  }
132  if (current_os == "openbsd") {
133    sources += [
134      "openbsd/Host.cpp",
135      "openbsd/HostInfoOpenBSD.cpp",
136    ]
137  }
138
139  # FIXME:
140  # set(EXTRA_LIBS)
141  # if (CMAKE_SYSTEM_NAME MATCHES "NetBSD")
142  #   list(APPEND EXTRA_LIBS kvm)
143  # endif()
144  # if (HAVE_LIBDL)
145  #   list(APPEND EXTRA_LIBS ${CMAKE_DL_LIBS})
146  # endif()
147  # if (LLDB_ENABLE_LIBEDIT)
148  #   list(APPEND EXTRA_LIBS LibEdit::LibEdit)
149  # endif()
150  # if (LLDB_ENABLE_LZMA)
151  #   list(APPEND EXTRA_LIBS ${LIBLZMA_LIBRARIES})
152  # endif()
153  # if (WIN32)
154  #   list(APPEND LLDB_SYSTEM_LIBS psapi)
155  # endif()
156}
157