xref: /llvm-project/llvm/utils/gn/secondary/lldb/tools/driver/BUILD.gn (revision aaa50e54e60fd6c455361f009fe4318bc267038b)
1import("//llvm/lib/Target/targets.gni")
2import("//llvm/utils/TableGen/tablegen.gni")
3import("//llvm/utils/gn/build/toolchain/compiler.gni")
4import("//llvm/utils/gn/build/write_cmake_config.gni")
5import("//llvm/version.gni")
6
7tablegen("Options") {
8  visibility = [ ":lldb" ]
9  args = [ "-gen-opt-parser-defs" ]
10}
11
12if (current_os == "mac") {
13  write_cmake_config("write_info_plist") {
14    input = "lldb-Info.plist.in"
15    output = "$target_gen_dir/lldb-Info.plist"
16    values = [ "LLDB_VERSION=$llvm_version" ]
17  }
18}
19
20supported_toolchains = supported_android_toolchains
21
22executable("lldb") {
23  configs += [ "//llvm/utils/gn/build:lldb_code" ]
24  deps = [
25    ":Options",
26    "//lldb/include/lldb/Host:Config",
27    "//lldb/source/API:liblldb",
28    "//llvm/lib/Option",
29    "//llvm/lib/Support",
30    "//llvm/utils/gn/build/libs/xar",
31  ]
32  if (current_os == "mac") {
33    deps += [ ":write_info_plist" ]
34    plist = get_target_outputs(":write_info_plist")
35    ldflags = [ "-Wl,-sectcreate,__TEXT,__info_plist," +
36                rebase_path(plist[0], root_out_dir) ]
37  }
38  if (current_os == "linux") {
39    deps += [ "//lldb/tools/lldb-server" ]
40  }
41  foreach(toolchain, supported_toolchains) {
42    deps += [ "//lldb/tools/lldb-server($toolchain)" ]
43  }
44
45  sources = [
46    "Driver.cpp",
47    "Platform.cpp",
48  ]
49
50  # XXX LLDB_BUILD_FRAMEWORK rpath stuff
51}
52