mirror of
https://gitee.com/openharmony/arkui_ace_engine
synced 2024-12-04 05:29:08 +00:00
fb0de7f3f0
Signed-off-by: kangchongtao <kangchongtao@huawei.com>
135 lines
4.5 KiB
Plaintext
135 lines
4.5 KiB
Plaintext
# Copyright (c) 2021 Huawei Device Co., Ltd.
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# 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.
|
|
|
|
import("//build/ohos.gni")
|
|
import("//foundation/arkui/ace_engine/ace_config.gni")
|
|
import("//foundation/arkui/ace_engine/interfaces/napi/kits/napi_lib.gni")
|
|
|
|
# Build libace static library
|
|
template("libace_static") {
|
|
forward_variables_from(invoker, "*")
|
|
|
|
ohos_source_set(target_name) {
|
|
if (current_os == "ohos") {
|
|
sanitize = {
|
|
integer_overflow = true
|
|
boundary_sanitize = true
|
|
debug = ace_sanitize_debug
|
|
}
|
|
}
|
|
|
|
deps = [ "$ace_root/frameworks/base:ace_base_$platform" ]
|
|
external_deps = []
|
|
if (use_mingw_win || use_mac || use_linux) {
|
|
external_deps += [
|
|
"icu:shared_icui18n",
|
|
"icu:shared_icuuc",
|
|
]
|
|
}
|
|
|
|
if (platform == "ohos_ng" || is_arkui_x) {
|
|
deps += [
|
|
"$ace_root/frameworks/bridge:framework_bridge_ng_$platform",
|
|
"$ace_root/frameworks/core:ace_core_ng_$platform",
|
|
]
|
|
} else if (platform == "ohos" && !is_asan) {
|
|
deps += [
|
|
"$ace_root/frameworks/bridge:framework_bridge_$platform",
|
|
"$ace_root/frameworks/core:ace_core_$platform",
|
|
]
|
|
|
|
# add napi lib to libace.z.so for auto load in old generation mode
|
|
foreach(module, common_napi_libs) {
|
|
target_names = []
|
|
prefix_dir = []
|
|
module_path = []
|
|
module_name = []
|
|
|
|
target_names = string_split(module, "/")
|
|
prefix_dir = target_names[0]
|
|
if (prefix_dir != module) {
|
|
module_path = target_names[1]
|
|
} else {
|
|
module_path = prefix_dir
|
|
}
|
|
module_name = string_replace(module_path, "_", "")
|
|
|
|
# prompt and promptaction uses same sourcefile, remove it in static compile
|
|
if (module_name != "prompt") {
|
|
deps += [ "$ace_root/interfaces/napi/kits/${module_path}:${module_name}_static_${platform}" ]
|
|
}
|
|
}
|
|
} else {
|
|
deps += [
|
|
"$ace_root/frameworks/bridge:framework_bridge_$platform",
|
|
"$ace_root/frameworks/core:ace_core_$platform",
|
|
]
|
|
}
|
|
|
|
if (defined(config.platform_deps)) {
|
|
deps += config.platform_deps
|
|
}
|
|
|
|
# build-in ark js engine for preview
|
|
if (defined(config.use_build_in_js_engine) &&
|
|
config.use_build_in_js_engine && defined(config.ark_engine)) {
|
|
if (platform == "ohos_ng" || is_arkui_x) {
|
|
deps += [ "$ace_root/frameworks/bridge/declarative_frontend:declarative_js_engine_ng_ark_$platform" ]
|
|
} else {
|
|
deps += [
|
|
"$ace_root/frameworks/bridge/declarative_frontend:declarative_js_engine_ark_$platform",
|
|
"$ace_root/frameworks/bridge/js_frontend/engine:js_engine_ark_$platform",
|
|
]
|
|
}
|
|
}
|
|
configs = [ "$ace_root:ace_coverage_config" ]
|
|
if (use_hilog) {
|
|
external_deps += [ "hilog:libhilog" ]
|
|
}
|
|
part_name = ace_engine_part
|
|
subsystem_name = ace_engine_subsystem
|
|
}
|
|
}
|
|
|
|
# build platform engine sources
|
|
template("ace_bridge_engine") {
|
|
forward_variables_from(invoker, "*")
|
|
|
|
ohos_shared_library(target_name) {
|
|
configs = [ "$ace_root:ace_coverage_config" ]
|
|
deps = []
|
|
|
|
assert(defined(platform) && (platform == "ohos" || platform == "ohos_ng"),
|
|
"Only ohos need separated engine lib")
|
|
|
|
if (use_hilog) {
|
|
external_deps = [ "hilog:libhilog" ]
|
|
}
|
|
if (build_type == "engine") {
|
|
if (use_js_debug) {
|
|
deps += [ "$ace_root/frameworks/bridge/js_frontend/engine:js_engine_${engine_name}_debug_$platform" ]
|
|
} else {
|
|
deps += [ "$ace_root/frameworks/bridge/js_frontend/engine:js_engine_${engine_name}_$platform" ]
|
|
}
|
|
} else if (build_type == "engine_declarative") {
|
|
deps += [ "$ace_root/frameworks/bridge/declarative_frontend:declarative_js_engine_${engine_name}_$platform" ]
|
|
} else if (build_type == "engine_pa") {
|
|
deps += [ "$ace_root/${pa_engine_path}/engine:js_pa_engine_${engine_name}_$platform" ]
|
|
innerapi_tags = [ "platformsdk" ]
|
|
}
|
|
|
|
subsystem_name = ace_engine_subsystem
|
|
part_name = ace_engine_part
|
|
}
|
|
}
|