From d05cfcb1da6d5d013e3810a30af7ec317da045ed Mon Sep 17 00:00:00 2001 From: wylyw78 Date: Thu, 13 Jun 2024 11:31:31 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E9=80=82=E9=85=8DLinux=20arm=20host=20open?= =?UTF-8?q?harmony=E7=BC=96=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wylyw78 --- third_party/musl/ndk_script/BUILD.gn | 116 +++++++++++++++++++++------ 1 file changed, 92 insertions(+), 24 deletions(-) diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index ad9e795af..7130c7680 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -10,7 +10,7 @@ # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and -# limitations under the License. +# limitations under the License. import("//build/config/clang/clang.gni") import("//build/ohos/ndk/ndk.gni") @@ -62,22 +62,41 @@ 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_arm64_toolchain_dir = "${toolchains_dir}/ohos-arm64" - 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") { @@ -94,15 +113,42 @@ if (host_os == "mac") { args = [ "--follow-all-symlinks" ] license_file = "${windows_x86_64_toolchain_dir}/llvm/NOTICE" } + + ohos_ndk_toolchains("ohos_arm64") { + dest_dir = "$ndk_ohos_toolchains_out_dir" + sources = [ + "${ohos_arm64_toolchain_dir}/llvm/bin", + "${ohos_arm64_toolchain_dir}/llvm/include", + "${ohos_arm64_toolchain_dir}/llvm/lib", + "${ohos_arm64_toolchain_dir}/llvm/libexec", + "${ohos_arm64_toolchain_dir}/llvm/python3", + "${ohos_arm64_toolchain_dir}/llvm/share", + ] + } + 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 += + 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") ] - deps = [ ":linux_x86_64" ] + } + if (host_cpu == "arm64") { + deps = [ ":linux_arm64" ] + } else { + deps = [ ":linux_x86_64" ] + } } action("windows_toolchain") { @@ -111,10 +157,31 @@ if (host_os == "mac") { args = [ "-i" ] + [ rebase_path("${windows_x86_64_toolchain_dir}/libcxx-ndk") ] args += [ "-o" ] + [ rebase_path("${ndk_windows_toolchains_out_dir}") ] - args += - [ "-l" ] + [ rebase_path("${linux_x86_64_toolchains_dir}/llvm/bin") ] + + 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") ] + } deps = [ ":windows_x86_64" ] } + + action("ohos_toolchain") { + outputs = [ "${ndk_ohos_toolchains_out_dir}" ] + script = "toolchain.sh" + args = [ "-i" ] + [ rebase_path("${ohos_arm64_toolchain_dir}/libcxx-ndk") ] + args += [ "-o" ] + [ rebase_path("${ndk_ohos_toolchains_out_dir}") ] + 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") ] + } + deps = [ ":ohos_arm64" ] + } } group("ndk_toolchain") { @@ -123,6 +190,7 @@ group("ndk_toolchain") { } else { deps = [ ":linux_toolchain", + ":ohos_toolchain", ":windows_toolchain", ] } @@ -243,7 +311,7 @@ ohos_copy("musl_arm_bits_arm32") { sources_temp += musl_inc_bits_files sources_orig = get_path_info(sources_temp, "file") - # print("${sources_orig}") + # print("${sources_orig}") foreach(s, sources_orig) { sources += [ get_label_info(deps[0], "target_out_dir") + @@ -263,7 +331,7 @@ ohos_copy("musl_bits_aarch64") { sources_temp += musl_inc_bits_files sources_orig = get_path_info(sources_temp, "file") - # print("${sources_orig}") + # print("${sources_orig}") foreach(s, sources_orig) { sources += [ get_label_info(deps[0], "target_out_dir") + @@ -283,7 +351,7 @@ ohos_copy("musl_bits_x86_64") { sources_temp += musl_inc_bits_files sources_orig = get_path_info(sources_temp, "file") - # print("${sources_orig}") + # print("${sources_orig}") foreach(s, sources_orig) { sources += [ get_label_info(deps[0], "target_out_dir") + -- Gitee From 8296a3f721e1adb42cc27380ddf1d02f2881a74f Mon Sep 17 00:00:00 2001 From: wenyu Date: Mon, 17 Jun 2024 11:54:08 +0000 Subject: [PATCH 2/8] update Signed-off-by: wenyu --- third_party/musl/ndk_script/BUILD.gn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index 73f59ba67..6b48fcb33 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -235,10 +235,12 @@ action("copy_musl_sysroot") { } musl_libs_arm32 = [ - "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_arm)", "//third_party/musl:create_syscall_h(//build/toolchain/ohos:ohos_clang_arm)", "//third_party/musl:musl_copy_inc_bits(//build/toolchain/ohos:ohos_clang_arm)", ] +if (host_cpu != "arm64") { + musl_libs_arm32 += [ "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_arm)", ] +} musl_libs_aarch64 = [ "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_arm64)", -- Gitee From 1bd217ebf281d312fabf7a09349ecd0be9b03f18 Mon Sep 17 00:00:00 2001 From: wenyu Date: Mon, 17 Jun 2024 11:56:36 +0000 Subject: [PATCH 3/8] update third_party/musl/ndk_script/BUILD.gn. Signed-off-by: wenyu --- third_party/musl/ndk_script/BUILD.gn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index 6b48fcb33..e80e6caae 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -244,9 +244,11 @@ if (host_cpu != "arm64") { musl_libs_aarch64 = [ "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_arm64)", - "//third_party/musl:create_syscall_h(//build/toolchain/ohos:ohos_clang_arm64)", "//third_party/musl:musl_copy_inc_bits(//build/toolchain/ohos:ohos_clang_arm64)", ] +if (host_cpu != "arm64") { + musl_libs_aarch64 += [ "//third_party/musl:create_syscall_h(//build/toolchain/ohos:ohos_clang_arm64)", ] +} musl_libs_x86_64 = [ "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_x86_64)", -- Gitee From 15ff497b1a9ea00e8636eeee6f2f104a6cbf072a Mon Sep 17 00:00:00 2001 From: wenyu Date: Mon, 17 Jun 2024 12:32:06 +0000 Subject: [PATCH 4/8] update Signed-off-by: wenyu --- third_party/musl/ndk_script/BUILD.gn | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index e80e6caae..cdeff014a 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -234,20 +234,20 @@ action("copy_musl_sysroot") { deps = [ ":copy_ndk_musl_headers" ] } -musl_libs_arm32 = [ +musl_libs_arm32 = [] +musl_libs_aarch64 = [] +if (host_cpu != "arm64") { + musl_libs_arm32 += [ + "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_arm)", "//third_party/musl:create_syscall_h(//build/toolchain/ohos:ohos_clang_arm)", "//third_party/musl:musl_copy_inc_bits(//build/toolchain/ohos:ohos_clang_arm)", -] -if (host_cpu != "arm64") { - musl_libs_arm32 += [ "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_arm)", ] -} + ] -musl_libs_aarch64 = [ + musl_libs_aarch64 += [ "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_arm64)", + "//third_party/musl:create_syscall_h(//build/toolchain/ohos:ohos_clang_arm64)", "//third_party/musl:musl_copy_inc_bits(//build/toolchain/ohos:ohos_clang_arm64)", -] -if (host_cpu != "arm64") { - musl_libs_aarch64 += [ "//third_party/musl:create_syscall_h(//build/toolchain/ohos:ohos_clang_arm64)", ] + ] } musl_libs_x86_64 = [ -- Gitee From 5dd8615871ecaa06f8dec32307a4a6560f4ea742 Mon Sep 17 00:00:00 2001 From: wenyu Date: Mon, 17 Jun 2024 13:12:17 +0000 Subject: [PATCH 5/8] update third_party/musl/ndk_script/BUILD.gn. Signed-off-by: wenyu --- third_party/musl/ndk_script/BUILD.gn | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index cdeff014a..51c19d58a 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -234,21 +234,19 @@ action("copy_musl_sysroot") { deps = [ ":copy_ndk_musl_headers" ] } -musl_libs_arm32 = [] -musl_libs_aarch64 = [] -if (host_cpu != "arm64") { - musl_libs_arm32 += [ + +musl_libs_arm32 = [ "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_arm)", "//third_party/musl:create_syscall_h(//build/toolchain/ohos:ohos_clang_arm)", "//third_party/musl:musl_copy_inc_bits(//build/toolchain/ohos:ohos_clang_arm)", - ] +] - musl_libs_aarch64 += [ +musl_libs_aarch64 = [ "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_arm64)", "//third_party/musl:create_syscall_h(//build/toolchain/ohos:ohos_clang_arm64)", "//third_party/musl:musl_copy_inc_bits(//build/toolchain/ohos:ohos_clang_arm64)", - ] -} +] + musl_libs_x86_64 = [ "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_x86_64)", -- Gitee From 5292a7dfffbfbd73625e0bb9081f469bf8e679eb Mon Sep 17 00:00:00 2001 From: wenyu Date: Tue, 18 Jun 2024 06:26:07 +0000 Subject: [PATCH 6/8] update third_party/musl/ndk_script/BUILD.gn. Signed-off-by: wenyu --- third_party/musl/ndk_script/BUILD.gn | 2 -- 1 file changed, 2 deletions(-) diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index 51c19d58a..73f59ba67 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -234,7 +234,6 @@ action("copy_musl_sysroot") { deps = [ ":copy_ndk_musl_headers" ] } - musl_libs_arm32 = [ "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_arm)", "//third_party/musl:create_syscall_h(//build/toolchain/ohos:ohos_clang_arm)", @@ -247,7 +246,6 @@ musl_libs_aarch64 = [ "//third_party/musl:musl_copy_inc_bits(//build/toolchain/ohos:ohos_clang_arm64)", ] - musl_libs_x86_64 = [ "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_x86_64)", "//third_party/musl:create_syscall_h(//build/toolchain/ohos:ohos_clang_x86_64)", -- Gitee From 351d5249088d2093fd104690e03b9ef746a0ca7c Mon Sep 17 00:00:00 2001 From: wenyu Date: Wed, 19 Jun 2024 03:17:34 +0000 Subject: [PATCH 7/8] update third_party/musl/ndk_script/BUILD.gn. Signed-off-by: wenyu --- third_party/musl/ndk_script/BUILD.gn | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index 73f59ba67..e3a0a4fdb 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -64,7 +64,8 @@ if (host_os == "mac") { } else { windows_x86_64_toolchain_dir = "${toolchains_dir}/windows-x86_64" ohos_arm64_toolchain_dir = "${toolchains_dir}/ohos-arm64" - + print("wenyu:host_cpu2") + print(host_cpu) if (host_cpu == "arm64") { linux_aarch64_toolchains_dir = "${toolchains_dir}/linux-aarch64" ohos_ndk_toolchains("linux_arm64") { @@ -130,19 +131,19 @@ if (host_os == "mac") { outputs = [ "${ndk_linux_toolchains_out_dir}" ] script = "toolchain.sh" if (host_cpu == "arm64") { - args = - [ "-i" ] + [ rebase_path("${linux_aarch64_toolchains_dir}/libcxx-ndk") ] + args = [ "-i" ] + + [ rebase_path("${linux_aarch64_toolchains_dir}/libcxx-ndk") ] } else { - args = - [ "-i" ] + [ rebase_path("${linux_x86_64_toolchains_dir}/libcxx-ndk") ] + args = [ "-i" ] + + [ rebase_path("${linux_x86_64_toolchains_dir}/libcxx-ndk") ] } args += [ "-o" ] + [ rebase_path("${ndk_linux_toolchains_out_dir}") ] if (host_cpu == "arm64") { args += - [ "-l" ] + [ rebase_path("${linux_aarch64_toolchains_dir}/llvm/bin") ] + [ "-l" ] + [ rebase_path("${linux_aarch64_toolchains_dir}/llvm/bin") ] } else { args += - [ "-l" ] + [ rebase_path("${linux_x86_64_toolchains_dir}/llvm/bin") ] + [ "-l" ] + [ rebase_path("${linux_x86_64_toolchains_dir}/llvm/bin") ] } if (host_cpu == "arm64") { deps = [ ":linux_arm64" ] @@ -157,7 +158,7 @@ if (host_os == "mac") { args = [ "-i" ] + [ rebase_path("${windows_x86_64_toolchain_dir}/libcxx-ndk") ] args += [ "-o" ] + [ rebase_path("${ndk_windows_toolchains_out_dir}") ] - + if (host_cpu == "arm64") { args += [ "-l" ] + [ rebase_path("${linux_aarch64_toolchains_dir}/llvm/bin") ] -- Gitee From a1aba8d1d4ffae38aa204a3172940a7bc65ed181 Mon Sep 17 00:00:00 2001 From: wenyu Date: Wed, 19 Jun 2024 12:01:58 +0000 Subject: [PATCH 8/8] update third_party/musl/ndk_script/BUILD.gn. Signed-off-by: wenyu --- third_party/musl/ndk_script/BUILD.gn | 2 -- 1 file changed, 2 deletions(-) diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index e3a0a4fdb..683b2e30d 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -64,8 +64,6 @@ if (host_os == "mac") { } else { windows_x86_64_toolchain_dir = "${toolchains_dir}/windows-x86_64" ohos_arm64_toolchain_dir = "${toolchains_dir}/ohos-arm64" - print("wenyu:host_cpu2") - print(host_cpu) if (host_cpu == "arm64") { linux_aarch64_toolchains_dir = "${toolchains_dir}/linux-aarch64" ohos_ndk_toolchains("linux_arm64") { -- Gitee