diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index bbca1b91ebc65a5d931f13a0272da449580a9cc7..1e60ad3885d0cfdd3d8a7344adf99e84e56e0127 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -128,6 +128,7 @@ group("musl_sysroot") { ":musl_arm_bits_arm32", ":musl_arm_uapi_arm32", ":musl_bits_aarch64", + ":musl_bits_riscv64", ":musl_bits_x86_64", ] } @@ -178,6 +179,12 @@ musl_libs_x86_64 = [ "//third_party/musl:musl_copy_inc_bits(//build/toolchain/ohos:ohos_clang_x86_64)", ] +musl_libs_riscv64 = [ + "//third_party/musl:create_alltypes_h(//build/toolchain/ohos:ohos_clang_riscv64)", + "//third_party/musl:create_syscall_h(//build/toolchain/ohos:ohos_clang_riscv64)", + "//third_party/musl:musl_copy_inc_bits(//build/toolchain/ohos:ohos_clang_riscv64)", +] + musl_lib_arm32 = [ "//third_party/musl:soft_musl_crt_install_action(//build/toolchain/ohos:ohos_clang_arm)", "//third_party/musl:soft_libc_musl_static(//build/toolchain/ohos:ohos_clang_arm)", @@ -217,6 +224,19 @@ musl_lib_x86_64 = [ "//third_party/musl:soft_librt(//build/toolchain/ohos:ohos_clang_x86_64)", ] +musl_lib_riscv64 = [ + "//third_party/musl:soft_musl_crt_install_action(//build/toolchain/ohos:ohos_clang_riscv64)", + "//third_party/musl:soft_libc_musl_static(//build/toolchain/ohos:ohos_clang_riscv64)", + "//third_party/musl:soft_libm(//build/toolchain/ohos:ohos_clang_riscv64)", + "//third_party/musl:soft_libdl(//build/toolchain/ohos:ohos_clang_riscv64)", + "//third_party/musl:soft_libpthread(//build/toolchain/ohos:ohos_clang_riscv64)", + "//third_party/musl:soft_libcrypt(//build/toolchain/ohos:ohos_clang_riscv64)", + "//third_party/musl:soft_libutil(//build/toolchain/ohos:ohos_clang_riscv64)", + "//third_party/musl:soft_libxnet(//build/toolchain/ohos:ohos_clang_riscv64)", + "//third_party/musl:soft_libresolv(//build/toolchain/ohos:ohos_clang_riscv64)", + "//third_party/musl:soft_librt(//build/toolchain/ohos:ohos_clang_riscv64)", +] + ## arm-linux-ohos asm directory ohos_ndk_copy("musl_arm_uapi_arm32") { dest_dir = "$ndk_os_irrelevant_out_dir/sysroot/usr/include/arm-linux-ohos" @@ -286,6 +306,26 @@ ohos_copy("musl_bits_x86_64") { outputs = [ "$ndk_os_irrelevant_out_dir/sysroot/usr/include/x86_64-linux-ohos/bits/{{source_file_part}}" ] } +## riscv64-linux-ohos bits directory +ohos_copy("musl_bits_riscv64") { + deps = musl_libs_riscv64 + sources = [] + sources_temp = [ + "alltypes.h", + "syscall.h", + ] + sources_temp += musl_inc_bits_files + sources_orig = get_path_info(sources_temp, "file") + + # print("${sources_orig}") + + foreach(s, sources_orig) { + sources += [ get_label_info(deps[0], "target_out_dir") + + "/usr/include/riscv64-linux-ohos/bits/${s}" ] + } + outputs = [ "$ndk_os_irrelevant_out_dir/sysroot/usr/include/riscv64-linux-ohos/bits/{{source_file_part}}" ] +} + ohos_copy("musl_ndk_libs_arm32") { deps = musl_lib_arm32 crt_dir = "${root_build_dir}/obj/third_party/musl/usr/lib/arm-linux-ohos" @@ -352,6 +392,40 @@ ohos_copy("musl_ndk_libs_aarch64") { outputs = [ "$ndk_os_irrelevant_out_dir/sysroot/usr/lib/aarch64-linux-ohos/{{source_file_part}}" ] } +ohos_copy("musl_ndk_libs_riscv64") { + deps = musl_lib_riscv64 + sources = [ "${root_build_dir}/obj/third_party/musl" + + "/usr/lib/riscv64-linux-ohos/Scrt1.o" ] + sources += [ "${root_build_dir}/obj/third_party/musl" + + "/usr/lib/riscv64-linux-ohos/crt1.o" ] + sources += [ "${root_build_dir}/obj/third_party/musl" + + "/usr/lib/riscv64-linux-ohos/crti.o" ] + sources += [ "${root_build_dir}/obj/third_party/musl" + + "/usr/lib/riscv64-linux-ohos/crtn.o" ] + sources += [ "${root_build_dir}/obj/third_party/musl" + + "/usr/lib/riscv64-linux-ohos/rcrt1.o" ] + sources += [ get_label_info(deps[0], "target_out_dir") + + "/usr/lib/riscv64-linux-ohos/libc.a" ] + sources += [ get_label_info(deps[0], "target_out_dir") + + "/usr/lib/riscv64-linux-ohos/libdl.a" ] + sources += [ get_label_info(deps[0], "target_out_dir") + + "/usr/lib/riscv64-linux-ohos/libm.a" ] + sources += [ get_label_info(deps[0], "target_out_dir") + + "/usr/lib/riscv64-linux-ohos/libcrypt.a" ] + sources += [ get_label_info(deps[0], "target_out_dir") + + "/usr/lib/riscv64-linux-ohos/libpthread.a" ] + sources += [ get_label_info(deps[0], "target_out_dir") + + "/usr/lib/riscv64-linux-ohos/libresolv.a" ] + sources += [ get_label_info(deps[0], "target_out_dir") + + "/usr/lib/riscv64-linux-ohos/librt.a" ] + sources += [ get_label_info(deps[0], "target_out_dir") + + "/usr/lib/riscv64-linux-ohos/libutil.a" ] + sources += [ get_label_info(deps[0], "target_out_dir") + + "/usr/lib/riscv64-linux-ohos/libxnet.a" ] + + outputs = [ "$ndk_os_irrelevant_out_dir/sysroot/usr/lib/riscv64-linux-ohos/{{source_file_part}}" ] +} + ohos_copy("musl_ndk_libs_x86_64") { deps = musl_lib_x86_64 crt_dir = "${root_build_dir}/obj/third_party/musl/usr/lib/x86_64-linux-ohos"