import("//compiler-rt/target.gni")
import("//llvm/utils/TableGen/tablegen.gni")
tablegen("LLGSOptions") {
visibility = [ ":lldb-server" ]
args = [ "-gen-opt-parser-defs" ]
}
executable("lldb-server") {
configs += [
"//llvm/utils/gn/build:clang_code",
"//llvm/utils/gn/build:lldb_code",
]
deps = [
":LLGSOptions",
#"//lldb/include/lldb/Host:Config",
"//lldb/source/Host",
"//lldb/source/Initialization",
"//lldb/source/Plugins/Instruction/ARM",
"//lldb/source/Version",
#"//lldb/source/Plugins/Instruction/MIPS", # XXX
#"//lldb/source/Plugins/Instruction/MIPS64", # XXX
"//llvm/lib/Option",
"//llvm/lib/Support",
# Dep of //lldb/source/Core, but omitted there due to a
# dependency cyle. Need to add dep here.
"//lldb/source/Plugins/Language/CPlusPlus",
]
if (current_os == "android" || current_os == "linux") {
deps += [ "//lldb/source/Plugins/Process/Linux" ]
if (current_os == "linux") {
deps += [ "//lldb/source/Plugins/Platform/Linux" ]
} else {
# XXX
#deps += [ "//lldb/source/Plugins/Platform/Android" ]
}
}
#} else if (current_os == "freebsd") {
#deps += [ "//lldb/source/Platform/Process/FreeBSD" ]
#deps += [ "//lldb/source/Plugins/Process/FreeBSD" ]
#} else if (current_os == "netbsd") {
#deps += [ "//lldb/source/Platform/Process/NetBSD" ]
#deps += [ "//lldb/source/Plugins/Process/NetBSD" ]
if (current_os == "mac") {
deps += [ "//lldb/source/Plugins/ObjectFile/Mach-O" ]
deps += [ "//lldb/source/Plugins/Platform/MacOSX" ]
} else if (current_os == "win") {
deps += [ "//lldb/source/Plugins/ObjectFile/PECOFF" ]
deps += [ "//lldb/source/Plugins/Platform/Windows" ]
} else {
deps += [ "//lldb/source/Plugins/ObjectFile/ELF" ]
}
# FIXME: codesign stuff on macos; default to "lldb_codesign"
# Reaches into Plugins/ObjectFile/Mach-O.
include_dirs = [ "//lldb/source" ]
sources = [
"Acceptor.cpp",
"LLDBServerUtilities.cpp",
"SystemInitializerLLGS.cpp",
"lldb-gdbserver.cpp",
"lldb-platform.cpp",
"lldb-server.cpp",
]
if (current_os == "android") {
output_dir = "$root_build_dir/runtimes_ndk_cxx/$crt_current_target_arch"
}
}