[llvm] 883e93c - gn build: Add support for building lldb-server on Android.

Peter Collingbourne via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 8 19:35:32 PDT 2021


Author: Peter Collingbourne
Date: 2021-09-08T19:33:51-07:00
New Revision: 883e93cb280e672107c4fe64d2ab03a01613e0af

URL: https://github.com/llvm/llvm-project/commit/883e93cb280e672107c4fe64d2ab03a01613e0af
DIFF: https://github.com/llvm/llvm-project/commit/883e93cb280e672107c4fe64d2ab03a01613e0af.diff

LOG: gn build: Add support for building lldb-server on Android.

The cross-compiled lldb-server targets are added to the lldb deps if
Android cross compilation is enabled.

Differential Revision: https://reviews.llvm.org/D109464

Added: 
    

Modified: 
    llvm/utils/gn/build/libs/xml/enable.gni
    llvm/utils/gn/secondary/lldb/tools/driver/BUILD.gn
    llvm/utils/gn/secondary/lldb/tools/lldb-server/BUILD.gn

Removed: 
    


################################################################################
diff  --git a/llvm/utils/gn/build/libs/xml/enable.gni b/llvm/utils/gn/build/libs/xml/enable.gni
index 3ef357b4fd2f7..547483d52a07e 100644
--- a/llvm/utils/gn/build/libs/xml/enable.gni
+++ b/llvm/utils/gn/build/libs/xml/enable.gni
@@ -1,4 +1,4 @@
 declare_args() {
   # Whether to include code that links against libxml2.
-  llvm_enable_libxml2 = host_os != "win"
+  llvm_enable_libxml2 = current_os != "win" && current_os != "android"
 }

diff  --git a/llvm/utils/gn/secondary/lldb/tools/driver/BUILD.gn b/llvm/utils/gn/secondary/lldb/tools/driver/BUILD.gn
index 7d78145ce566f..9514ef229e01c 100644
--- a/llvm/utils/gn/secondary/lldb/tools/driver/BUILD.gn
+++ b/llvm/utils/gn/secondary/lldb/tools/driver/BUILD.gn
@@ -1,4 +1,5 @@
 import("//llvm/utils/TableGen/tablegen.gni")
+import("//llvm/utils/gn/build/toolchain/compiler.gni")
 import("//llvm/utils/gn/build/write_cmake_config.gni")
 import("//llvm/version.gni")
 
@@ -15,6 +16,14 @@ if (current_os == "mac") {
   }
 }
 
+supported_toolchains = []
+if (android_ndk_path != "") {
+  supported_toolchains += [
+    "//llvm/utils/gn/build/toolchain:stage2_android_aarch64",
+    "//llvm/utils/gn/build/toolchain:stage2_android_arm",
+  ]
+}
+
 executable("lldb") {
   configs += [ "//llvm/utils/gn/build:lldb_code" ]
   deps = [
@@ -34,6 +43,9 @@ executable("lldb") {
   if (current_os == "linux") {
     deps += [ "//lldb/tools/lldb-server" ]
   }
+  foreach (toolchain, supported_toolchains) {
+    deps += [ "//lldb/tools/lldb-server($toolchain)" ]
+  }
 
   sources = [
     "Driver.cpp",

diff  --git a/llvm/utils/gn/secondary/lldb/tools/lldb-server/BUILD.gn b/llvm/utils/gn/secondary/lldb/tools/lldb-server/BUILD.gn
index 5129c71d97ad5..178fb05bdd394 100644
--- a/llvm/utils/gn/secondary/lldb/tools/lldb-server/BUILD.gn
+++ b/llvm/utils/gn/secondary/lldb/tools/lldb-server/BUILD.gn
@@ -1,3 +1,4 @@
+import("//compiler-rt/target.gni")
 import("//llvm/utils/TableGen/tablegen.gni")
 
 tablegen("LLGSOptions") {
@@ -57,4 +58,8 @@ executable("lldb-server") {
     "lldb-platform.cpp",
     "lldb-server.cpp",
   ]
+
+  if (current_os == "android") {
+    output_dir = "$root_build_dir/runtimes_ndk_cxx/$crt_current_target_arch"
+  }
 }


        


More information about the llvm-commits mailing list