diff --git a/llvm/utils/gn/build/libs/xml/enable.gni b/llvm/utils/gn/build/libs/xml/enable.gni --- 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 --- 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 @@ } } +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 @@ 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 --- 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 @@ "lldb-platform.cpp", "lldb-server.cpp", ] + + if (current_os == "android") { + output_dir = "$root_build_dir/runtimes_ndk_cxx/$crt_current_target_arch" + } }