mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-25 12:23:20 -04:00
b1a6b475f9
Co-Authored-By: Agent Signed-off-by: wangzhen <wangzhen416@huawei.com> 🤖 AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%] Change-Id: I261a1b0698d57d291c4790fd4e99994e982cc5c2
575 lines
13 KiB
Plaintext
575 lines
13 KiB
Plaintext
#
|
|
# Copyright (c) 2024-2026 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/ability/ability_runtime/ability_runtime.gni")
|
|
|
|
group("ams_common_target") {
|
|
deps = [
|
|
":perm_verification",
|
|
":task_handler_wrap",
|
|
":image_native_wrap",
|
|
]
|
|
}
|
|
|
|
config("common_config") {
|
|
visibility = [ ":*" ]
|
|
visibility += [
|
|
"${ability_runtime_innerkits_path}/*",
|
|
"${ability_runtime_napi_path}/*",
|
|
"${ability_runtime_native_path}/ability/native/*",
|
|
"${ability_runtime_native_path}/child_process/*",
|
|
"${ability_runtime_path}/frameworks/c/ability_runtime/*",
|
|
"${ability_runtime_path}/frameworks/simulator/ability_simulator/*",
|
|
"${ability_runtime_path}/tools/aa/*",
|
|
"${ability_runtime_path}/tools/ohos-aa/*",
|
|
"${ability_runtime_path}/tools/cc/*",
|
|
"${ability_runtime_services_path}/common/*",
|
|
"${ability_runtime_services_path}/quickfixmgr/*",
|
|
"${ability_runtime_services_path}/uripermmgr/*",
|
|
"${ability_runtime_test_path}/*",
|
|
"${ability_runtime_utils_path}/global/common/*",
|
|
"${hiebpf_path}/*",
|
|
"${power_manager_path}/utils/*",
|
|
"${request_path}/common/*",
|
|
]
|
|
include_dirs = [
|
|
"include",
|
|
"${ability_runtime_innerkits_path}/ability_manager/include",
|
|
]
|
|
cflags = []
|
|
if (target_cpu == "arm") {
|
|
cflags += [ "-DBINDER_IPC_32BIT" ]
|
|
}
|
|
}
|
|
|
|
config("optimize_config") {
|
|
cflags = [
|
|
"-flto=full",
|
|
"-fdata-sections",
|
|
"-ffunction-sections",
|
|
"-fstack-protector-strong",
|
|
"-D_FORTIFY_SOURCE=2",
|
|
"-Oz",
|
|
]
|
|
cflags_cc = [
|
|
"-flto=full",
|
|
"-fdata-sections",
|
|
"-ffunction-sections",
|
|
"-fstack-protector-strong",
|
|
"-D_FORTIFY_SOURCE=2",
|
|
"-Oz",
|
|
]
|
|
ldflags = [
|
|
"-flto=full",
|
|
"-Wl",
|
|
]
|
|
}
|
|
|
|
# Config for TDD static libraries - no Bsymbolic flag
|
|
# Used by static library targets to enable symbol mocking in tests
|
|
config("tdd_config") {
|
|
cflags = [
|
|
"-flto=full",
|
|
"-fdata-sections",
|
|
"-ffunction-sections",
|
|
"-fstack-protector-strong",
|
|
"-D_FORTIFY_SOURCE=2",
|
|
"-Oz",
|
|
]
|
|
cflags_cc = [
|
|
"-flto=full",
|
|
"-fdata-sections",
|
|
"-ffunction-sections",
|
|
"-fstack-protector-strong",
|
|
"-D_FORTIFY_SOURCE=2",
|
|
"-Oz",
|
|
]
|
|
# NOTE: No Bsymbolic flag here to allow symbol mocking
|
|
ldflags = [
|
|
"-flto=full",
|
|
"-Wl",
|
|
]
|
|
}
|
|
|
|
#build so
|
|
ohos_shared_library("perm_verification") {
|
|
branch_protector_ret = "pac_ret"
|
|
|
|
include_dirs = [ "${ability_runtime_utils_path}/server/constant" ]
|
|
|
|
public_configs = [ ":common_config" ]
|
|
|
|
sources = [ "src/permission_verification.cpp" ]
|
|
|
|
deps = [
|
|
":app_util",
|
|
":hisysevent_report",
|
|
]
|
|
|
|
external_deps = [
|
|
"ability_base:want",
|
|
"access_token:libaccesstoken_sdk",
|
|
"access_token:libtokenid_sdk",
|
|
"c_utils:utils",
|
|
"hilog:libhilog",
|
|
"hisysevent:libhisysevent",
|
|
"hitrace:hitrace_meter",
|
|
"init:libbegetutil",
|
|
"ipc:ipc_core",
|
|
]
|
|
|
|
cflags_cc = []
|
|
if (os_dlp_part_enabled) {
|
|
cflags_cc += [ "-DWITH_DLP" ]
|
|
}
|
|
|
|
subsystem_name = "ability"
|
|
innerapi_tags = [ "platformsdk_indirect" ]
|
|
part_name = "ability_runtime"
|
|
}
|
|
|
|
ohos_static_library("perm_verification_static") {
|
|
branch_protector_ret = "pac_ret"
|
|
sanitize = {
|
|
cfi = true
|
|
cfi_cross_dso = true
|
|
debug = false
|
|
}
|
|
|
|
configs = [ "${ability_runtime_services_path}/common:tdd_config" ]
|
|
public_configs = [ ":common_config" ]
|
|
include_dirs = [ "${ability_runtime_utils_path}/server/constant" ]
|
|
|
|
sources = [ "src/permission_verification.cpp" ]
|
|
|
|
deps = [
|
|
":app_util_static",
|
|
":hisysevent_report_static",
|
|
]
|
|
|
|
external_deps = [
|
|
"ability_base:want",
|
|
"access_token:libaccesstoken_sdk",
|
|
"access_token:libtokenid_sdk",
|
|
"c_utils:utils",
|
|
"hilog:libhilog",
|
|
"hisysevent:libhisysevent",
|
|
"hitrace:hitrace_meter",
|
|
"init:libbegetutil",
|
|
"ipc:ipc_core",
|
|
]
|
|
|
|
cflags_cc = []
|
|
if (os_dlp_part_enabled) {
|
|
cflags_cc += [ "-DWITH_DLP" ]
|
|
}
|
|
|
|
subsystem_name = "ability"
|
|
part_name = "ability_runtime"
|
|
}
|
|
|
|
ohos_shared_library("task_handler_wrap") {
|
|
branch_protector_ret = "pac_ret"
|
|
|
|
configs = [ "${ability_runtime_services_path}/common:optimize_config" ]
|
|
public_configs = [ ":common_config" ]
|
|
include_dirs = [ "include" ]
|
|
|
|
sources = [
|
|
"src/event_handler_wrap.cpp",
|
|
"src/ffrt_task_handler_wrap.cpp",
|
|
"src/queue_task_handler_wrap.cpp",
|
|
"src/task_handler_wrap.cpp",
|
|
]
|
|
|
|
external_deps = [
|
|
"ffrt:libffrt",
|
|
"hilog:libhilog",
|
|
]
|
|
|
|
subsystem_name = "ability"
|
|
part_name = "ability_runtime"
|
|
}
|
|
|
|
ohos_static_library("task_handler_wrap_static") {
|
|
branch_protector_ret = "pac_ret"
|
|
sanitize = {
|
|
cfi = true
|
|
cfi_cross_dso = true
|
|
debug = false
|
|
}
|
|
|
|
configs = [ "${ability_runtime_services_path}/common:tdd_config" ]
|
|
public_configs = [ ":common_config" ]
|
|
include_dirs = [ "include" ]
|
|
|
|
sources = [
|
|
"src/event_handler_wrap.cpp",
|
|
"src/ffrt_task_handler_wrap.cpp",
|
|
"src/queue_task_handler_wrap.cpp",
|
|
"src/task_handler_wrap.cpp",
|
|
]
|
|
|
|
external_deps = [
|
|
"ffrt:libffrt",
|
|
"hilog:libhilog",
|
|
]
|
|
|
|
subsystem_name = "ability"
|
|
part_name = "ability_runtime"
|
|
}
|
|
|
|
ohos_shared_library("hisysevent_report") {
|
|
branch_protector_ret = "pac_ret"
|
|
sanitize = {
|
|
integer_overflow = true
|
|
ubsan = true
|
|
boundary_sanitize = true
|
|
cfi = true
|
|
cfi_cross_dso = true
|
|
cfi_policy = "adaptive"
|
|
debug = false
|
|
}
|
|
include_dirs = [ "include" ]
|
|
|
|
sources = [
|
|
"src/hisysevent_report.cpp",
|
|
]
|
|
|
|
external_deps = [
|
|
"hilog:libhilog",
|
|
"c_utils:utils",
|
|
"hilog:libhilog",
|
|
"hisysevent:libhisysevent",
|
|
]
|
|
|
|
subsystem_name = "ability"
|
|
part_name = "ability_runtime"
|
|
}
|
|
|
|
ohos_static_library("hisysevent_report_static") {
|
|
branch_protector_ret = "pac_ret"
|
|
sanitize = {
|
|
integer_overflow = true
|
|
ubsan = true
|
|
boundary_sanitize = true
|
|
cfi = true
|
|
cfi_cross_dso = true
|
|
debug = false
|
|
}
|
|
configs = [ "${ability_runtime_services_path}/common:tdd_config" ]
|
|
include_dirs = [ "include" ]
|
|
|
|
sources = [
|
|
"src/hisysevent_report.cpp",
|
|
]
|
|
|
|
external_deps = [
|
|
"hilog:libhilog",
|
|
"c_utils:utils",
|
|
"hilog:libhilog",
|
|
"hisysevent:libhisysevent",
|
|
]
|
|
|
|
subsystem_name = "ability"
|
|
part_name = "ability_runtime"
|
|
}
|
|
|
|
ohos_shared_library("app_util") {
|
|
branch_protector_ret = "pac_ret"
|
|
|
|
configs = [ "${ability_runtime_services_path}/common:optimize_config" ]
|
|
public_configs = [ ":common_config" ]
|
|
include_dirs = [ "include" ]
|
|
|
|
sources = [
|
|
"src/ability_manager_radar.cpp",
|
|
"src/ability_manager_xcollie.cpp",
|
|
"src/app_utils.cpp",
|
|
"src/event_report.cpp",
|
|
"src/hitrace_chain_utils.cpp",
|
|
"src/json_utils.cpp",
|
|
"src/rate_limiter.cpp",
|
|
"src/record_cost_time_util.cpp",
|
|
"src/res_sched_util.cpp",
|
|
]
|
|
|
|
deps = [
|
|
"${ability_runtime_path}/utils/global/common:runtime_utils",
|
|
":hisysevent_report",
|
|
]
|
|
|
|
external_deps = [
|
|
"bundle_framework:appexecfwk_base",
|
|
"c_utils:utils",
|
|
"config_policy:configpolicy_util",
|
|
"hicollie:libhicollie",
|
|
"hilog:libhilog",
|
|
"hisysevent:libhisysevent",
|
|
"hitrace:hitrace_meter",
|
|
"hitrace:libhitracechain",
|
|
"init:libbeget_proxy",
|
|
"init:libbegetutil",
|
|
"ipc:ipc_core",
|
|
"ipc:ipc_single",
|
|
"json:nlohmann_json_static",
|
|
"samgr:samgr_proxy",
|
|
]
|
|
|
|
if (ability_runtime_graphics) {
|
|
defines = [ "SUPPORT_GRAPHICS" ]
|
|
external_deps += [ "window_manager:libwsutils" ]
|
|
}
|
|
|
|
if (resource_schedule_service_enable) {
|
|
defines += [ "RESOURCE_SCHEDULE_SERVICE_ENABLE" ]
|
|
external_deps += [ "resource_schedule_service:ressched_client" ]
|
|
}
|
|
|
|
if (ability_runtime_media_library_enable) {
|
|
defines += [ "ABILITY_RUNTIME_MEDIA_LIBRARY_ENABLE" ]
|
|
}
|
|
|
|
if (ability_runtime_forbid_start_enabled) {
|
|
defines += [ "ABILITY_RUNTIME_FORBID_START_ENABLED" ]
|
|
}
|
|
|
|
subsystem_name = "ability"
|
|
part_name = "ability_runtime"
|
|
}
|
|
|
|
ohos_static_library("app_util_static") {
|
|
branch_protector_ret = "pac_ret"
|
|
sanitize = {
|
|
cfi = true
|
|
cfi_cross_dso = true
|
|
debug = false
|
|
}
|
|
|
|
configs = [ "${ability_runtime_services_path}/common:tdd_config" ]
|
|
public_configs = [ ":common_config" ]
|
|
include_dirs = [ "include" ]
|
|
|
|
sources = [
|
|
"src/ability_manager_radar.cpp",
|
|
"src/ability_manager_xcollie.cpp",
|
|
"src/app_utils.cpp",
|
|
"src/event_report.cpp",
|
|
"src/hitrace_chain_utils.cpp",
|
|
"src/json_utils.cpp",
|
|
"src/rate_limiter.cpp",
|
|
"src/record_cost_time_util.cpp",
|
|
"src/res_sched_util.cpp",
|
|
]
|
|
|
|
deps = [
|
|
"${ability_runtime_path}/utils/global/common:runtime_utils",
|
|
":hisysevent_report_static",
|
|
]
|
|
|
|
external_deps = [
|
|
"bundle_framework:appexecfwk_base",
|
|
"c_utils:utils",
|
|
"config_policy:configpolicy_util",
|
|
"hicollie:libhicollie",
|
|
"hilog:libhilog",
|
|
"hisysevent:libhisysevent",
|
|
"hitrace:hitrace_meter",
|
|
"hitrace:libhitracechain",
|
|
"init:libbeget_proxy",
|
|
"init:libbegetutil",
|
|
"ipc:ipc_core",
|
|
"ipc:ipc_single",
|
|
"json:nlohmann_json_static",
|
|
"samgr:samgr_proxy",
|
|
]
|
|
|
|
if (ability_runtime_graphics) {
|
|
defines = [ "SUPPORT_GRAPHICS" ]
|
|
external_deps += [ "window_manager:libwsutils" ]
|
|
}
|
|
|
|
if (resource_schedule_service_enable) {
|
|
defines += [ "RESOURCE_SCHEDULE_SERVICE_ENABLE" ]
|
|
external_deps += [ "resource_schedule_service:ressched_client" ]
|
|
}
|
|
|
|
if (ability_runtime_media_library_enable) {
|
|
defines += [ "ABILITY_RUNTIME_MEDIA_LIBRARY_ENABLE" ]
|
|
}
|
|
|
|
if (ability_runtime_forbid_start_enabled) {
|
|
defines += [ "ABILITY_RUNTIME_FORBID_START_ENABLED" ]
|
|
}
|
|
|
|
subsystem_name = "ability"
|
|
part_name = "ability_runtime"
|
|
}
|
|
|
|
ohos_shared_library("user_controller") {
|
|
sanitize = {
|
|
integer_overflow = true
|
|
ubsan = true
|
|
boundary_sanitize = true
|
|
cfi = true
|
|
cfi_cross_dso = true
|
|
cfi_policy = "adaptive"
|
|
debug = false
|
|
}
|
|
branch_protector_ret = "pac_ret"
|
|
|
|
include_dirs = [
|
|
"include/user_controller",
|
|
"${ability_runtime_innerkits_path}/ability_manager/include",
|
|
"${ability_runtime_services_path}/common/include",
|
|
]
|
|
|
|
defines = []
|
|
|
|
sources = [ "src/user_controller/user_controller.cpp" ]
|
|
|
|
deps =
|
|
[ "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper" ]
|
|
|
|
external_deps = [
|
|
"c_utils:utils",
|
|
"ffrt:libffrt",
|
|
"hilog:libhilog",
|
|
"ipc:ipc_single",
|
|
]
|
|
|
|
if (ability_runtime_graphics) {
|
|
defines += [
|
|
"SUPPORT_GRAPHICS",
|
|
"SUPPORT_SCREEN",
|
|
]
|
|
|
|
deps += []
|
|
external_deps += [
|
|
"window_manager:libdm",
|
|
"window_manager:libwsutils",
|
|
]
|
|
}
|
|
|
|
innerapi_tags = [ "platformsdk_indirect" ]
|
|
subsystem_name = "ability"
|
|
part_name = "ability_runtime"
|
|
}
|
|
|
|
ohos_static_library("user_controller_static") {
|
|
sanitize = {
|
|
integer_overflow = true
|
|
ubsan = true
|
|
boundary_sanitize = true
|
|
cfi = true
|
|
cfi_cross_dso = true
|
|
debug = false
|
|
}
|
|
branch_protector_ret = "pac_ret"
|
|
configs = [ "${ability_runtime_services_path}/common:tdd_config" ]
|
|
|
|
include_dirs = [
|
|
"include/user_controller",
|
|
"${ability_runtime_innerkits_path}/ability_manager/include",
|
|
"${ability_runtime_services_path}/common/include",
|
|
]
|
|
|
|
defines = []
|
|
|
|
sources = [ "src/user_controller/user_controller.cpp" ]
|
|
|
|
deps =
|
|
[ "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper" ]
|
|
|
|
external_deps = [
|
|
"c_utils:utils",
|
|
"ffrt:libffrt",
|
|
"hilog:libhilog",
|
|
"ipc:ipc_single",
|
|
]
|
|
|
|
if (ability_runtime_graphics) {
|
|
defines += [
|
|
"SUPPORT_GRAPHICS",
|
|
"SUPPORT_SCREEN",
|
|
]
|
|
|
|
deps += []
|
|
external_deps += [
|
|
"window_manager:libdm",
|
|
"window_manager:libwsutils",
|
|
]
|
|
}
|
|
|
|
subsystem_name = "ability"
|
|
part_name = "ability_runtime"
|
|
}
|
|
|
|
ohos_shared_library("image_native_bridge") {
|
|
sanitize = {
|
|
integer_overflow = true
|
|
ubsan = true
|
|
boundary_sanitize = true
|
|
cfi = true
|
|
cfi_cross_dso = true
|
|
cfi_vcall_icall_only = true
|
|
cfi_policy = "adaptive"
|
|
debug = false
|
|
}
|
|
branch_protector_ret = "pac_ret"
|
|
|
|
public_configs = [ ":common_config" ]
|
|
include_dirs = [ "include" ]
|
|
|
|
sources = [ "src/pixel_map_bridge.cpp" ]
|
|
|
|
external_deps = [
|
|
"c_utils:utils",
|
|
"hilog:libhilog",
|
|
]
|
|
|
|
subsystem_name = "ability"
|
|
part_name = "ability_runtime"
|
|
}
|
|
|
|
ohos_shared_library("image_native_wrap") {
|
|
sanitize = {
|
|
integer_overflow = true
|
|
ubsan = true
|
|
boundary_sanitize = true
|
|
cfi = true
|
|
cfi_cross_dso = true
|
|
cfi_vcall_icall_only = true
|
|
cfi_policy = "adaptive"
|
|
debug = false
|
|
}
|
|
branch_protector_ret = "pac_ret"
|
|
|
|
include_dirs = [ "include" ]
|
|
|
|
sources = [ "src/pixel_map_wrap.cpp" ]
|
|
|
|
external_deps = [
|
|
"c_utils:utils",
|
|
"hilog:libhilog",
|
|
"image_framework:image_native",
|
|
"ipc:ipc_single",
|
|
]
|
|
|
|
subsystem_name = "ability"
|
|
part_name = "ability_runtime"
|
|
}
|