From 382ed37ce0f06993ed64b51f015f22d6e704d491 Mon Sep 17 00:00:00 2001 From: oh_ci Date: Tue, 11 Mar 2025 02:21:19 +0000 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E9=80=80=20'Pull=20Request=20!2358=20?= =?UTF-8?q?:=20linux=20arm64=E7=BC=96=E8=AF=91sdk-interface=5Fsdk=5Fc'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ndk_targets.gni | 26 +++---- third_party/musl/ndk_script/BUILD.gn | 100 ++++++++++++++------------- 2 files changed, 59 insertions(+), 67 deletions(-) diff --git a/ndk_targets.gni b/ndk_targets.gni index 25da4956f..a8299154b 100644 --- a/ndk_targets.gni +++ b/ndk_targets.gni @@ -267,20 +267,12 @@ _ndk_sysroot_uapi = [ "//interface/sdk_c/third_party/musl/ndk_script:musl_sysroot" ] _ndk_cmake = [ "//build/ohos/ndk:ndk_cmake_files" ] -_ndk_ninja = [] if (host_os == "mac") { _ndk_cmake += [ "//prebuilts/cmake/darwin-universal:darwin_cmake_copy", "//build/ohos/ndk:copy_darwin_ohos_cmake", ] - _ndk_ninja += [ "//prebuilts/build-tools/darwin-x86/bin:darwin_ninja_copy" ] -} else if (host_os == "linux" && host_cpu == "arm64") { - _ndk_cmake += [ - "//prebuilts/cmake/linux-aarch64:linux_cmake_copy", - "//build/ohos/ndk:copy_linux_ohos_cmake", - ] - _ndk_ninja += [ "//prebuilts/build-tools/linux-aarch64/bin:linux_ninja_copy" ] } else { _ndk_cmake += [ "//prebuilts/cmake/linux-x86:linux_cmake_copy", @@ -290,6 +282,12 @@ if (host_os == "mac") { "//build/ohos/ndk:copy_windows_ohos_cmake", "//build/ohos/ndk:copy_ohos_ohos_cmake", ] +} + +_ndk_ninja = [] +if (host_os == "mac") { + _ndk_ninja += [ "//prebuilts/build-tools/darwin-x86/bin:darwin_ninja_copy" ] +} else { _ndk_ninja += [ "//prebuilts/build-tools/linux-x86/bin:linux_ninja_copy", "//prebuilts/build-tools/windows-x86/bin:windows_ninja_copy", @@ -314,13 +312,8 @@ if (build_mac_ndk_target) { } } if (build_linux_ndk_target) { - if (host_cpu == "arm64") { - all_ndk_targets_list += - [ "//interface/sdk_c/third_party/musl/ndk_script:linux_arm64" ] - } else { - all_ndk_targets_list += - [ "//interface/sdk_c/third_party/musl/ndk_script:linux_x86_64" ] - } + all_ndk_targets_list += + [ "//interface/sdk_c/third_party/musl/ndk_script:linux_x86_64" ] } if (build_ohos_ndk_target) { all_ndk_targets_list += @@ -334,9 +327,6 @@ if (build_ohos_ndk_target) { all_ndk_targets_list += [ "//interface/sdk_c/third_party/musl/ndk_script:darwin_x86_64" ] } - } else if (host_os == "linux" && host_cpu == "arm64") { - all_ndk_targets_list += - [ "//interface/sdk_c/third_party/musl/ndk_script:linux_arm64" ] } else { all_ndk_targets_list += [ "//interface/sdk_c/third_party/musl/ndk_script:windows_x86_64", diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index f23416e99..6001b9347 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -64,51 +64,41 @@ if (host_os == "mac") { deps = [ ":darwin_x86_64" ] } } -} else if (host_os == "linux" && 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" - } - - action("linux_toolchain") { - outputs = [ "${ndk_linux_toolchains_out_dir}" ] - script = "toolchain.sh" - args = - [ "-i" ] + [ rebase_path("${linux_aarch64_toolchains_dir}/libcxx-ndk") ] - args += [ "-o" ] + [ rebase_path("${ndk_linux_toolchains_out_dir}") ] - args += - [ "-l" ] + [ rebase_path("${linux_aarch64_toolchains_dir}/llvm/bin") ] - - deps = [ ":linux_arm64" ] - } } else { windows_x86_64_toolchain_dir = "${toolchains_dir}/windows-x86_64" ohos_arm64_toolchain_dir = "${toolchains_dir}/ohos-arm64" - 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" + 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") { @@ -142,12 +132,26 @@ 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}") ] - args += - [ "-l" ] + [ rebase_path("${linux_x86_64_toolchains_dir}/llvm/bin") ] - deps = [ ":linux_x86_64" ] + if (host_cpu == "arm64") { + args += + [ "-l" ] + [ rebase_path("${linux_aarch64_toolchains_dir}/llvm/bin") ] + } else { + args += + [ "-l" ] + [ rebase_path("${linux_x86_64_toolchains_dir}/llvm/bin") ] + } + if (host_cpu == "arm64") { + deps = [ ":linux_arm64" ] + } else { + deps = [ ":linux_x86_64" ] + } } action("windows_toolchain") { @@ -186,8 +190,6 @@ if (host_os == "mac") { group("ndk_toolchain") { if (host_os == "mac") { deps = [ ":darwin_toolchain" ] - } else if (host_os == "linux" && host_cpu == "arm64") { - deps = [ ":linux_toolchain" ] } else { deps = [ ":linux_toolchain", -- Gitee