diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index bbca1b91ebc65a5d931f13a0272da449580a9cc7..61e82ca398e984c45b3cb815d3cb872c81d59c77 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -60,22 +60,40 @@ if (host_os == "mac") { } } } else { - linux_x86_64_toolchains_dir = "${toolchains_dir}/linux-x86_64" windows_x86_64_toolchain_dir = "${toolchains_dir}/windows-x86_64" - ohos_ndk_toolchains("linux_x86_64") { - dest_dir = "$ndk_linux_toolchains_out_dir" - sources = [ - "${linux_x86_64_toolchains_dir}/llvm/NOTICE", - "${linux_x86_64_toolchains_dir}/llvm/bin", - "${linux_x86_64_toolchains_dir}/llvm/include", - "${linux_x86_64_toolchains_dir}/llvm/lib", - "${linux_x86_64_toolchains_dir}/llvm/libexec", - "${linux_x86_64_toolchains_dir}/llvm/python3", - "${linux_x86_64_toolchains_dir}/llvm/script", - "${linux_x86_64_toolchains_dir}/llvm/share", - ] - license_file = "${linux_x86_64_toolchains_dir}/llvm/NOTICE" + if (host_cpu == "arm64") { + linux_aarch64_toolchains_dir = "${toolchains_dir}/linux-aarch64" + ohos_ndk_toolchains("linux_arm64") { + dest_dir = "$ndk_linux_toolchains_out_dir" + sources = [ + "${linux_aarch64_toolchains_dir}/llvm/NOTICE", + "${linux_aarch64_toolchains_dir}/llvm/bin", + "${linux_aarch64_toolchains_dir}/llvm/include", + "${linux_aarch64_toolchains_dir}/llvm/lib", + "${linux_aarch64_toolchains_dir}/llvm/libexec", + "${linux_aarch64_toolchains_dir}/llvm/python3", + "${linux_aarch64_toolchains_dir}/llvm/script", + "${linux_aarch64_toolchains_dir}/llvm/share", + ] + license_file = "${linux_aarch64_toolchains_dir}/llvm/NOTICE" + } + } else { + linux_x86_64_toolchains_dir = "${toolchains_dir}/linux-x86_64" + ohos_ndk_toolchains("linux_x86_64") { + dest_dir = "$ndk_linux_toolchains_out_dir" + sources = [ + "${linux_x86_64_toolchains_dir}/llvm/NOTICE", + "${linux_x86_64_toolchains_dir}/llvm/bin", + "${linux_x86_64_toolchains_dir}/llvm/include", + "${linux_x86_64_toolchains_dir}/llvm/lib", + "${linux_x86_64_toolchains_dir}/llvm/libexec", + "${linux_x86_64_toolchains_dir}/llvm/python3", + "${linux_x86_64_toolchains_dir}/llvm/script", + "${linux_x86_64_toolchains_dir}/llvm/share", + ] + license_file = "${linux_x86_64_toolchains_dir}/llvm/NOTICE" + } } ohos_ndk_toolchains("windows_x86_64") { @@ -95,10 +113,19 @@ if (host_os == "mac") { action("linux_toolchain") { outputs = [ "${ndk_linux_toolchains_out_dir}" ] script = "toolchain.sh" - args = - [ "-i" ] + [ rebase_path("${linux_x86_64_toolchains_dir}/libcxx-ndk") ] + if (host_cpu == "arm64") { + args = + [ "-i" ] + [ rebase_path("${linux_aarch64_toolchains_dir}/libcxx-ndk") ] + } else { + args = + [ "-i" ] + [ rebase_path("${linux_x86_64_toolchains_dir}/libcxx-ndk") ] + } args += [ "-o" ] + [ rebase_path("${ndk_linux_toolchains_out_dir}") ] - deps = [ ":linux_x86_64" ] + if (host_cpu == "arm64") { + deps = [ ":linux_arm64" ] + } else { + deps = [ ":linux_x86_64" ] + } } action("windows_toolchain") {