2 Star 0 Fork 3.1K

lijj01 / arkui_ace_engine

forked from OpenHarmony / arkui_ace_engine 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
ace_config.gni 7.40 KB
一键复制 编辑 原始数据 按行查看 历史
# Copyright (c) 2021-2023 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/config/clang/clang.gni")
import("//build/ohos.gni")
import("//build/test.gni")
# Config args
declare_args() {
# ace debug flag, enable debug features: like dcheck, thread-checker, mem-monitor...
enable_ace_debug = false
# only available when 'enable_ace_debug' set to 'true', show the LOGD infos.
enable_ace_debug_log = true
# only available when 'enable_ace_debug' set to 'true', show the private logs.
enable_ace_private_log = true
# show the instance id in logs.
enable_ace_instance_log = true
# Disable glfw window to build for PC preview scenario.
enable_glfw_window = false
# Enable when build for cross platform
is_cross_platform_build = false
# Enable build for new ng pipeline, also will use new flutter
enable_ng_build = false
# Enable metal in iOS or MacOS
shell_enable_metal = false
# Enable test coverage
ace_engine_feature_enable_coverage = false
# Disable in OH Core
ace_engine_standard_fonts_enable = true
}
enable_dump_drawcmd = false
is_ohos_standard_system = is_standard_system && !build_cross_platform_version
use_mingw_win = "${current_os}_${current_cpu}" == "mingw_x86_64"
use_mac = "${current_os}_${current_cpu}" == "mac_x64" ||
"${current_os}_${current_cpu}" == "mac_arm64"
use_ios = "${current_os}_${current_cpu}" == "ios_x64" ||
"${current_os}_${current_cpu}" == "ios_arm64"
use_linux = "${current_os}_${current_cpu}" == "linux_x64"
# Config path
ace_root = "//foundation/arkui/ace_engine"
ace_napi = "//foundation/arkui/napi"
ace_graphic = "//foundation/graphic/graphic_2d"
ace_hitrace = "//base/hiviewdfx/hitrace"
if (!defined(aosp_libs_dir)) {
aosp_libs_dir = "//prebuilts/aosp_prebuilt_libs/asdk_libs"
}
libs_root = "${aosp_libs_dir}/sdk"
ability_runtime_path = "//foundation/ability/ability_runtime"
ability_runtime_inner_api_path = "${ability_runtime_path}/interfaces/inner_api"
ability_runtime_inner_kits_path = "${ability_runtime_path}/interfaces/kits"
ability_runtime_kits_path = "${ability_runtime_path}/frameworks/kits"
ability_runtime_napi_path = "${ability_runtime_path}/frameworks/js/napi"
ability_runtime_services_path = "${ability_runtime_path}/services"
flutter_root = "//third_party/flutter"
ace_flutter_engine_root = "$flutter_root/build"
expat_root = "//third_party/expat"
cjson_root = "//third_party/cJSON"
jsoncpp_root = "//third_party/jsoncpp"
ark_tools_root = "//prebuilts/ace-toolkit/ace-loader/panda"
node_js_path = "//prebuilts/ace-toolkit/nodejs/node-v12.18.4-linux-x64/bin/"
ark_toolchain_path = "//arkcompiler/toolchain"
window_manager_path = "//foundation/window/window_manager"
graphic_standard_path = "//foundation/graphic/graphic_2d"
ark_ets_path = "//arkcompiler/ets_runtime"
crossplatform_plugin_root = "//plugins"
skia_root_new = "//third_party/skia"
# Config toolchain
windows_buildtool = "//build/toolchain/mingw:mingw_x86_64"
if (!defined(default_aosp_source_dir)) {
default_aosp_source_dir = "/"
}
objcopy_default = "${default_aosp_source_dir}/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin/objcopy"
objcopy_mingw = "${default_aosp_source_dir}/prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/bin/objcopy"
objcopy_x86_64 = "${default_clang_base_path}/bin/llvm-objcopy"
if ("${current_os}_${current_cpu}" == "mac_arm64") {
mac_buildtool = "//build/toolchain/mac:clang_arm64"
} else if ("${current_os}_${current_cpu}" == "mac_x64") {
mac_buildtool = "//build/toolchain/mac:clang_x64"
}
objcopy_clang = "$clang_base_path/bin/llvm-objcopy"
if (is_ohos_standard_system) {
objcopy_default = "//prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-objcopy"
node_js_path =
"//prebuilts/build-tools/common/nodejs/node-v12.18.4-linux-x64/bin/"
} else if (is_cross_platform_build) {
if (host_os == "mac") {
objcopy_default = objcopy_clang
} else if (defined(aosp_objcopy)) {
objcopy_default = aosp_objcopy
}
}
# Config subsystem name
ace_engine_subsystem = "arkui"
# Config part name
if (is_ohos_standard_system) {
ace_engine_part = "ace_engine"
hilog_deps = [ "hiviewdfx_hilog_native:libhilog" ]
ark_runtime_path = "//arkcompiler/runtime_core"
} else {
if (is_cross_platform_build) {
ace_engine_part = "ace_engine_cross"
} else {
ace_engine_part = "ace_engine_full"
}
hilog_deps = [ "hilog:libhilog" ]
ark_runtime_path = "//arkcompiler/runtime_core"
}
# Config test output path
if (is_ohos_standard_system) {
test_output_path = "ace_engine/backenduiFrameNode"
} else {
test_output_path = "ace_engine_full/backenduiFrameNode"
}
# Config defines
ace_wearable_defines = [ "WEARABLE_PRODUCT" ]
ace_ivi_defines = [ "IVI_PRODUCT" ]
ace_common_defines = [ "ACE_LOG_TAG=\"Ace\"" ]
if (enable_glfw_window) {
ace_common_defines += [ "USE_GLFW_WINDOW" ]
}
if (use_clang_coverage) {
ace_common_defines += [ "USE_CLANG_COVERAGE" ]
}
if (enable_ace_debug) {
ace_common_defines += [ "ACE_DEBUG" ]
if (enable_ace_debug_log) {
ace_common_defines += [ "ACE_DEBUG_LOG" ]
}
if (enable_ace_private_log) {
ace_common_defines += [ "ACE_PRIVATE_LOG" ]
}
}
if (enable_ace_instance_log) {
ace_common_defines += [ "ACE_INSTANCE_LOG" ]
}
if (enable_dump_drawcmd) {
ace_common_defines += [ "DUMP_DRAW_CMD" ]
}
ace_use_new_skia = false
if (defined(use_new_skia) && use_new_skia) {
ace_use_new_skia = true
ace_common_defines += [ "NEW_SKIA" ]
}
if (enable_ng_build) {
ace_common_defines += [ "NG_BUILD" ]
}
if (!defined(global_parts_info) ||
defined(global_parts_info.account_os_account)) {
os_account_exists = true
ace_common_defines += [ "OS_ACCOUNT_EXISTS" ]
} else {
os_account_exists = false
}
if (is_emulator) {
ace_common_defines += [ "IS_EMULATOR" ]
}
if (defined(global_parts_info)) {
if (defined(global_parts_info.resourceschedule_frame_aware_sched) || defined(
global_parts_info.hmosresourceschedule_resourceschedule_frame_aware_sched_override)) {
frame_trace_support = true
} else {
frame_trace_support = false
}
}
ace_platforms = []
_ace_adapter_dir = rebase_path("$ace_root/adapter", root_build_dir)
_adapters = exec_script("build/search.py", [ _ace_adapter_dir ], "list lines")
foreach(item, _adapters) {
import_var = {
}
import_var = {
import("$ace_root/adapter/$item/build/platform.gni")
}
if (defined(import_var.platforms)) {
foreach(platform, import_var.platforms) {
if (!is_cross_platform_build || (is_cross_platform_build && defined(
platform.cross_platform_support) &&
platform.cross_platform_support)) {
if (defined(platform.name)) {
ace_platforms += [ platform ]
}
}
}
}
}
current_platform = {
}
foreach(item, ace_platforms) {
if ((use_mingw_win && item.name == "windows") ||
(use_mac && item.name == "mac") || (use_linux && item.name == "linux")) {
current_platform = item
}
}
1
https://gitee.com/lijj01/arkui_ace_engine.git
git@gitee.com:lijj01/arkui_ace_engine.git
lijj01
arkui_ace_engine
arkui_ace_engine
master

搜索帮助