1if (APPLE AND LLVM_ENABLE_LOCAL_SUBMODULE_VISIBILITY) 2 # The arpa/inet.h header used in the files here is providing a miscompiled 3 # htonl function on macOS <= 10.15 when local submodule visibility is active. 4 # Disabling modules in this directory until this is is fixed. 5 # See rdar://problem/62886385 6 remove_module_flags() 7endif() 8 9macro(add_host_subdirectory group) 10 list(APPEND HOST_SOURCES ${ARGN}) 11 source_group(${group} FILES ${ARGN}) 12endmacro() 13 14add_host_subdirectory(common 15 common/FileAction.cpp 16 common/FileCache.cpp 17 common/File.cpp 18 common/FileSystem.cpp 19 common/GetOptInc.cpp 20 common/Host.cpp 21 common/HostInfoBase.cpp 22 common/HostNativeThreadBase.cpp 23 common/HostProcess.cpp 24 common/HostThread.cpp 25 common/LockFileBase.cpp 26 common/LZMA.cpp 27 common/MainLoopBase.cpp 28 common/MonitoringProcessLauncher.cpp 29 common/NativeProcessProtocol.cpp 30 common/NativeRegisterContext.cpp 31 common/NativeThreadProtocol.cpp 32 common/NativeWatchpointList.cpp 33 common/OptionParser.cpp 34 common/PipeBase.cpp 35 common/ProcessLaunchInfo.cpp 36 common/ProcessRunLock.cpp 37 common/PseudoTerminal.cpp 38 common/SocketAddress.cpp 39 common/Socket.cpp 40 common/TCPSocket.cpp 41 common/Terminal.cpp 42 common/ThreadLauncher.cpp 43 common/UDPSocket.cpp 44 common/XML.cpp 45 ) 46 47if (LLDB_ENABLE_LIBEDIT) 48 add_host_subdirectory(common 49 common/Editline.cpp 50 ) 51endif() 52 53add_host_subdirectory(posix 54 posix/ConnectionFileDescriptorPosix.cpp 55 ) 56 57if (CMAKE_SYSTEM_NAME MATCHES "Windows") 58 add_host_subdirectory(windows 59 windows/ConnectionGenericFileWindows.cpp 60 windows/FileSystem.cpp 61 windows/Host.cpp 62 windows/HostInfoWindows.cpp 63 windows/HostProcessWindows.cpp 64 windows/HostThreadWindows.cpp 65 windows/LockFileWindows.cpp 66 windows/MainLoopWindows.cpp 67 windows/PipeWindows.cpp 68 windows/ProcessLauncherWindows.cpp 69 windows/ProcessRunLock.cpp 70 ) 71else() 72 add_host_subdirectory(posix 73 posix/DomainSocket.cpp 74 posix/FileSystemPosix.cpp 75 posix/HostInfoPosix.cpp 76 posix/HostProcessPosix.cpp 77 posix/HostThreadPosix.cpp 78 posix/LockFilePosix.cpp 79 posix/MainLoopPosix.cpp 80 posix/PipePosix.cpp 81 posix/ProcessLauncherPosixFork.cpp 82 ) 83 84 if (CMAKE_SYSTEM_NAME MATCHES "Darwin") 85 add_subdirectory(macosx/objcxx) 86 set(LLDBObjCLibs lldbHostMacOSXObjCXX) 87 add_host_subdirectory(macosx 88 macosx/cfcpp/CFCBundle.cpp 89 macosx/cfcpp/CFCData.cpp 90 macosx/cfcpp/CFCMutableArray.cpp 91 macosx/cfcpp/CFCMutableDictionary.cpp 92 macosx/cfcpp/CFCMutableSet.cpp 93 macosx/cfcpp/CFCString.cpp 94 ) 95 if(APPLE_EMBEDDED) 96 set_property(SOURCE macosx/Host.mm APPEND PROPERTY 97 COMPILE_DEFINITIONS "NO_XPC_SERVICES=1") 98 endif() 99 100 101 elseif (CMAKE_SYSTEM_NAME MATCHES "Linux|Android") 102 add_host_subdirectory(linux 103 linux/AbstractSocket.cpp 104 linux/Host.cpp 105 linux/HostInfoLinux.cpp 106 linux/LibcGlue.cpp 107 linux/Support.cpp 108 ) 109 if (CMAKE_SYSTEM_NAME MATCHES "Android") 110 add_host_subdirectory(android 111 android/HostInfoAndroid.cpp 112 android/LibcGlue.cpp 113 ) 114 endif() 115 elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") 116 add_host_subdirectory(freebsd 117 freebsd/Host.cpp 118 freebsd/HostInfoFreeBSD.cpp 119 ) 120 121 elseif (CMAKE_SYSTEM_NAME MATCHES "NetBSD") 122 add_host_subdirectory(netbsd 123 netbsd/HostNetBSD.cpp 124 netbsd/HostInfoNetBSD.cpp 125 ) 126 127 elseif (CMAKE_SYSTEM_NAME MATCHES "OpenBSD") 128 add_host_subdirectory(openbsd 129 openbsd/Host.cpp 130 openbsd/HostInfoOpenBSD.cpp 131 ) 132 endif() 133endif() 134 135set(EXTRA_LIBS) 136if (CMAKE_SYSTEM_NAME MATCHES "NetBSD") 137 list(APPEND EXTRA_LIBS kvm) 138endif() 139if (LLDB_ENABLE_LIBXML2) 140 list(APPEND EXTRA_LIBS LibXml2::LibXml2) 141endif() 142if (HAVE_LIBDL) 143 list(APPEND EXTRA_LIBS ${CMAKE_DL_LIBS}) 144endif() 145if (LLDB_ENABLE_LIBEDIT) 146 list(APPEND EXTRA_LIBS LibEdit::LibEdit) 147endif() 148if (LLDB_ENABLE_LZMA) 149 list(APPEND EXTRA_LIBS ${LIBLZMA_LIBRARIES}) 150endif() 151if (WIN32) 152 list(APPEND LLDB_SYSTEM_LIBS psapi) 153endif() 154 155if (LLDB_ENABLE_LIBEDIT) 156 list(APPEND LLDB_LIBEDIT_LIBS LibEdit::LibEdit) 157 if (LLVM_BUILD_STATIC) 158 list(APPEND LLDB_SYSTEM_LIBS gpm) 159 endif() 160endif() 161 162add_lldb_library(lldbHost 163 ${HOST_SOURCES} 164 165 LINK_LIBS 166 lldbUtility 167 ${EXTRA_LIBS} 168 ${LLDBObjCLibs} 169 ${LLDB_LIBEDIT_LIBS} 170 171 LINK_COMPONENTS 172 Object 173 Support 174 ) 175 176