From ecdabfbced776eabd85a66f37c3c6c7ade1525f4 Mon Sep 17 00:00:00 2001 From: Rokashevich Svetlana Date: Fri, 23 May 2025 21:21:14 +0800 Subject: [PATCH] Fix hybrid build Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/ICF4KI?from=project-issue Change-Id: I37948307c15254ff7cc1a4b07bc7746e37f45645 Signed-off-by: kurnevichstanislav --- build/config/BUILDCONFIG.gn | 1 + build/core/gn/BUILD.gn | 11 ++--------- tooling/BUILD.gn | 25 +++++++++++++++++++++---- tooling/client/BUILD.gn | 7 ++++++- tooling/client/ark_cli/BUILD.gn | 7 ++++++- tooling/client/ark_multi/BUILD.gn | 6 +++++- 6 files changed, 41 insertions(+), 16 deletions(-) diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn index ef045715..18681b4e 100644 --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn @@ -13,6 +13,7 @@ declare_args() { ark_standalone_build = true ark_use_cmc_gc = false + ark_hybrid = false use_musl = true build_root = "//arkcompiler/toolchain/build" run_with_qemu = false diff --git a/build/core/gn/BUILD.gn b/build/core/gn/BUILD.gn index 43fe962b..99c30b2a 100644 --- a/build/core/gn/BUILD.gn +++ b/build/core/gn/BUILD.gn @@ -101,11 +101,7 @@ group("static_core") { deps += [ "$ark_root/static_core/static_linker:static_linker" ] } if (target_os != "mingw" && target_os != "mac") { - if (ark_use_cmc_gc) { - deps += [ "$js_root:libark_jsruntime" ] - } else { - deps += [ "$ark_root/static_core/runtime:libarkruntime" ] - } + deps += [ "$ark_root/static_core/runtime:libarkruntime" ] } } @@ -113,6 +109,7 @@ group("hybrid") { deps = [ ":ets_frontend", ":ets_runtime", + ":static_core", "$ark_root/static_core/plugins/ets:etsstdlib(${host_toolchain})", ] if (target_os != "mingw" && target_os != "mac") { @@ -122,10 +119,6 @@ group("hybrid") { "$ark_root/static_core/tools/ark_js_napi_cli:ark_js_napi_cli", ] } - - if (!ark_use_cmc_gc) { - deps += [ ":static_core" ] - } } group("toolchain") { diff --git a/tooling/BUILD.gn b/tooling/BUILD.gn index e345de67..4b3cacdc 100644 --- a/tooling/BUILD.gn +++ b/tooling/BUILD.gn @@ -60,7 +60,12 @@ ohos_source_set("libark_ecma_debugger_set") { defines = [] deps = [] - external_deps = [ "ets_runtime:libark_jsruntime" ] + external_deps = [] + if (defined(ark_hybrid) && ark_hybrid) { + external_deps += [ "runtime_core:libarkruntime" ] + } else { + external_deps += [ "ets_runtime:libark_jsruntime" ] + } if (is_arkui_x && target_os == "ios") { sources -= [ "../common/log_wrapper.cpp" ] external_deps += [ "cJSON:cjson_static" ] @@ -112,9 +117,17 @@ ohos_shared_library("libark_ecma_debugger") { external_deps += [ "hilog:libhilog" ] } if (!is_arkui_x) { - external_deps += [ "ets_runtime:libark_jsruntime" ] + if (defined(ark_hybrid) && ark_hybrid) { + external_deps += [ "runtime_core:libarkruntime" ] + } else { + external_deps += [ "ets_runtime:libark_jsruntime" ] + } } else { - deps += [ "../../ets_runtime:libark_jsruntime" ] + if (defined(ark_hybrid) && ark_hybrid) { + deps += [ "../../runtime_core:libarkruntime" ] + } else { + deps += [ "../../ets_runtime:libark_jsruntime" ] + } } deps += hiviewdfx_deps @@ -140,10 +153,14 @@ ohos_static_library("libark_ecma_debugger_test") { defines = [ "OHOS_UNIT_TEST" ] deps = [] external_deps = [ - "ets_runtime:libark_jsruntime", "icu:shared_icuuc", "libuv:uv", ] + if (defined(ark_hybrid) && ark_hybrid) { + external_deps += [ "runtime_core:libarkruntime" ] + } else { + external_deps += [ "ets_runtime:libark_jsruntime" ] + } if ((is_arkui_x && target_os == "ios") || target_os == "mac") { external_deps += [ "cJSON:cjson_static" ] } else { diff --git a/tooling/client/BUILD.gn b/tooling/client/BUILD.gn index 21c40e9b..c41d6979 100644 --- a/tooling/client/BUILD.gn +++ b/tooling/client/BUILD.gn @@ -53,11 +53,16 @@ ohos_source_set("libark_client_set") { external_deps += [ "bounds_checking_function:libsec_shared", "cJSON:cjson_static", - "ets_runtime:libark_jsruntime", "icu:shared_icuuc", "libuv:uv", ] + if (defined(ark_hybrid) && ark_hybrid) { + external_deps += [ "runtime_core:libarkruntime" ] + } else { + external_deps += [ "ets_runtime:libark_jsruntime" ] + } + configs = [ "../..:ark_toolchain_common_config" ] cflags_cc = [ "-Wno-vla-extension" ] diff --git a/tooling/client/ark_cli/BUILD.gn b/tooling/client/ark_cli/BUILD.gn index 73f753d5..b54b2a3c 100644 --- a/tooling/client/ark_cli/BUILD.gn +++ b/tooling/client/ark_cli/BUILD.gn @@ -31,11 +31,16 @@ ohos_executable("arkdb") { external_deps = [ "bounds_checking_function:libsec_shared", "cJSON:cjson", - "ets_runtime:libark_jsruntime", "icu:shared_icuuc", "libuv:uv", ] + if (defined(ark_hybrid) && ark_hybrid) { + external_deps += [ "runtime_core:libarkruntime" ] + } else { + external_deps += [ "ets_runtime:libark_jsruntime" ] + } + # hiviewdfx libraries external_deps += hiviewdfx_ext_deps deps += hiviewdfx_deps diff --git a/tooling/client/ark_multi/BUILD.gn b/tooling/client/ark_multi/BUILD.gn index 439049c3..62d885e6 100644 --- a/tooling/client/ark_multi/BUILD.gn +++ b/tooling/client/ark_multi/BUILD.gn @@ -31,10 +31,14 @@ ohos_executable("ark_multi") { external_deps = [ "bounds_checking_function:libsec_shared", - "ets_runtime:libark_jsruntime", "icu:shared_icuuc", "libuv:uv", ] + if (defined(ark_hybrid) && ark_hybrid) { + external_deps += [ "runtime_core:libarkruntime" ] + } else { + external_deps += [ "ets_runtime:libark_jsruntime" ] + } # hiviewdfx libraries external_deps += hiviewdfx_ext_deps -- Gitee