1# Copyright (c) 2021-2024 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//foundation/ability/ability_runtime/ability_runtime.gni") 16import( 17 "//foundation/ability/ability_runtime/services/abilitymgr/abilitymgr.gni") 18 19group("abilityms_target") { 20 deps = [ 21 ":abilityms", 22 ":ams_service_config", 23 ":mission_list", 24 ] 25} 26 27config("abilityms_exception_config") { 28 cflags_cc = [ "-fexceptions" ] 29} 30 31config("abilityms_config") { 32 include_dirs = [ 33 "include/", 34 "include/data_ability", 35 "include/dialog_session/", 36 "include/mission/", 37 "include/rdb/", 38 "include/resident_process/", 39 "include/screen_lock/", 40 "include/utils/", 41 "${ability_runtime_innerkits_path}/ability_manager/include", 42 "${ability_runtime_services_path}/appdfr/include", 43 "${ability_runtime_innerkits_path}/app_manager/include", 44 "${ability_runtime_innerkits_path}/connectionobs_manager/include", 45 "${ability_runtime_innerkits_path}/deps_wrapper/include", 46 "${ability_runtime_services_path}/common/include", 47 "//prebuilts/jdk/jdk8/linux-x86/include", 48 "//prebuilts/jdk/jdk8/linux-x86/include/linux", 49 "${ability_runtime_path}/interfaces/kits/native/ability/native", 50 "${ability_runtime_innerkits_path}/dataobs_manager/include", 51 "${ability_runtime_path}/tools/aa/include", 52 "${ability_runtime_innerkits_path}/wantagent/include", 53 "${ability_runtime_innerkits_path}/session_handler/include", 54 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime", 55 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper", 56 "${ability_runtime_utils_path}/global/constant", 57 "${ability_runtime_utils_path}/server/constant", 58 ] 59 60 defines = [] 61 62 if (ability_command_for_test) { 63 defines += [ "ABILITY_COMMAND_FOR_TEST" ] 64 } 65 66 if (ability_fault_and_exit_test) { 67 defines += [ "ABILITY_FAULT_AND_EXIT_TEST" ] 68 } 69 70 if (ability_runtime_graphics) { 71 defines += [ 72 "SUPPORT_GRAPHICS", 73 "SUPPORT_SCREEN", 74 ] 75 } 76 77 if (background_task_mgr_continuous_task_enable) { 78 defines += [ "BGTASKMGR_CONTINUOUS_TASK_ENABLE" ] 79 } 80 81 if (resource_schedule_service_enable) { 82 defines += [ "RESOURCE_SCHEDULE_SERVICE_ENABLE" ] 83 } 84 85 if (is_asan || asan_detector) { 86 defines += [ "SUPPORT_ASAN" ] 87 } 88 89 cflags = [] 90 if (target_cpu == "arm") { 91 cflags += [ "-DBINDER_IPC_32BIT" ] 92 } 93 cflags += [ 94 "-DKEY_AUTO_FILL_ABILITY=\"${ability_runtime_auto_fill_ability}\"", 95 "-DKEY_SMART_AUTO_FILL_ABILITY=\"${ability_runtime_smart_auto_fill_ability}\"", 96 ] 97} 98 99ohos_shared_library("abilityms") { 100 sanitize = { 101 cfi = true 102 cfi_cross_dso = true 103 debug = false 104 } 105 branch_protector_ret = "pac_ret" 106 shlib_type = "sa" 107 sources = abilityms_files 108 cflags_cc = [] 109 configs = [ 110 ":abilityms_config", 111 ":abilityms_exception_config", 112 ] 113 include_dirs = [ 114 "${ability_runtime_services_path}/appdfr/include", 115 "${ability_runtime_path}/interfaces/kits/native/ability/native/ui_service_extension_ability/connection", 116 "${ability_runtime_services_path}/abilitymgr/include/mission", 117 ] 118 deps = [ 119 ":wantagent_manager", 120 "${ability_runtime_innerkits_path}/ability_manager:ability_manager", 121 "${ability_runtime_innerkits_path}/ability_manager:ability_start_options", 122 "${ability_runtime_innerkits_path}/ability_manager:ability_start_setting", 123 "${ability_runtime_innerkits_path}/ability_manager:mission_info", 124 "${ability_runtime_innerkits_path}/ability_manager:process_options", 125 "${ability_runtime_innerkits_path}/ability_manager:start_window_option", 126 "${ability_runtime_innerkits_path}/app_manager:app_manager", 127 "${ability_runtime_innerkits_path}/connectionobs_manager:connection_obs_manager", 128 "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper", 129 "${ability_runtime_innerkits_path}/session_handler:session_handler", 130 "${ability_runtime_innerkits_path}/uri_permission:uri_permission_mgr", 131 "${ability_runtime_native_path}/ability/native:abilitykit_native", 132 "${ability_runtime_native_path}/ability/native:auto_startup_callback", 133 "${ability_runtime_native_path}/appkit:appkit_manager_helper", 134 "${ability_runtime_path}/utils/global/freeze:freeze_util", 135 "${ability_runtime_path}/utils/server/startup:startup_util", 136 "${ability_runtime_services_path}/common:app_util", 137 "${ability_runtime_services_path}/common:event_report", 138 "${ability_runtime_services_path}/common:perm_verification", 139 "${ability_runtime_services_path}/common:res_sched_util", 140 "${ability_runtime_services_path}/common:task_handler_wrap", 141 ] 142 143 external_deps = [ 144 "ability_base:base", 145 "ability_base:configuration", 146 "ability_base:extractortool", 147 "ability_base:session_info", 148 "ability_base:view_data", 149 "ability_base:want", 150 "ability_base:zuri", 151 "access_token:libaccesstoken_sdk", 152 "access_token:libtokenid_sdk", 153 "bundle_framework:appexecfwk_base", 154 "bundle_framework:appexecfwk_core", 155 "bundle_framework:libappexecfwk_common", 156 "c_utils:utils", 157 "common_event_service:cesfwk_core", 158 "common_event_service:cesfwk_innerkits", 159 "config_policy:configpolicy_util", 160 "dsoftbus:softbus_client", 161 "ffrt:libffrt", 162 "graphic_2d:color_manager", 163 "hicollie:libhicollie", 164 "hilog:libhilog", 165 "hisysevent:libhisysevent", 166 "hitrace:hitrace_meter", 167 "icu:shared_icuuc", 168 "init:libbeget_proxy", 169 "init:libbegetutil", 170 "ipc:ipc_core", 171 "json:nlohmann_json_static", 172 "kv_store:distributeddata_inner", 173 "os_account:os_account_innerkits", 174 "qos_manager:concurrent_task_client", 175 "relational_store:native_appdatafwk", 176 "relational_store:native_dataability", 177 "relational_store:native_rdb", 178 "safwk:system_ability_fwk", 179 "samgr:samgr_proxy", 180 "window_manager:libmodal_system_ui_extension_client", 181 "window_manager:libwsutils", 182 "window_manager:scene_session", 183 "window_manager:session_manager_lite", 184 "window_manager:sms", 185 ] 186 public_external_deps = [ "background_task_mgr:bgtaskmgr_innerkits" ] 187 188 if (background_task_mgr_continuous_task_enable) { 189 external_deps += [ "background_task_mgr:bgtaskmgr_innerkits" ] 190 } 191 192 if (resource_schedule_service_enable) { 193 external_deps += [ "resource_schedule_service:ressched_client" ] 194 } 195 196 if (os_dlp_part_enabled) { 197 cflags_cc += [ "-DWITH_DLP" ] 198 external_deps += [ 199 "dlp_permission_service:libdlp_permission_sdk", 200 "dlp_permission_service:libdlpparse", 201 ] 202 } 203 204 defines = [] 205 206 if (ability_runtime_graphics) { 207 defines += [ "SUPPORT_GRAPHICS" ] 208 external_deps += [ 209 "ability_base:session_info", 210 "i18n:intl_util", 211 "icu:shared_icuuc", 212 "image_framework:image_native", 213 "input:libmmi-client", 214 "resource_management:global_resmgr", 215 "screenlock_mgr:screenlock_client", 216 "window_manager:libdm", 217 "window_manager:libmodal_system_ui_extension_client", 218 "window_manager:libwm", 219 "window_manager:libwsutils", 220 "window_manager:scene_session", 221 "window_manager:sms", 222 ] 223 } 224 225 if (include_app_domain_verify) { 226 external_deps += [ 227 "app_domain_verify:app_domain_verify_common", 228 "app_domain_verify:app_domain_verify_mgr_client", 229 ] 230 defines += [ "APP_DOMAIN_VERIFY_ENABLED" ] 231 } 232 233 if (ability_runtime_power) { 234 defines += [ "SUPPORT_POWER" ] 235 external_deps += [ "power_manager:powermgr_client" ] 236 } 237 238 if (ability_runtime_graphics && 239 ability_runtime_start_window_options_with_pixelmap) { 240 defines += [ "START_WINDOW_OPTIONS_WITH_PIXELMAP" ] 241 external_deps += [ "image_framework:image_native" ] 242 } 243 244 version_script = "libabilityms.map" 245 subsystem_name = "ability" 246 innerapi_tags = [ "platformsdk_indirect" ] 247 part_name = "ability_runtime" 248} 249 250ohos_shared_library("wantagent_manager") { 251 sanitize = { 252 cfi = true 253 cfi_cross_dso = true 254 debug = false 255 } 256 branch_protector_ret = "pac_ret" 257 include_dirs = [ 258 "${ability_runtime_services_path}/abilitymgr/data_ability/include", 259 "${ability_runtime_services_path}/abilitymgr/include/utils", 260 "${ability_runtime_services_path}/abilitymgr/include", 261 "${ability_runtime_innerkits_path}/ability_manager/include", 262 "${ability_runtime_services_path}/common/include", 263 ] 264 265 sources = [ 266 "${ability_runtime_services_path}/abilitymgr/src/sender_info.cpp", 267 "${ability_runtime_services_path}/abilitymgr/src/want_receiver_proxy.cpp", 268 "${ability_runtime_services_path}/abilitymgr/src/want_receiver_stub.cpp", 269 "${ability_runtime_services_path}/abilitymgr/src/want_sender_info.cpp", 270 "${ability_runtime_services_path}/abilitymgr/src/want_sender_proxy.cpp", 271 "${ability_runtime_services_path}/abilitymgr/src/want_sender_stub.cpp", 272 "${ability_runtime_services_path}/abilitymgr/src/wants_info.cpp", 273 ] 274 deps = [ 275 "${ability_runtime_innerkits_path}/ability_manager:ability_start_options", 276 "${ability_runtime_innerkits_path}/error_utils:ability_runtime_error_util", 277 ] 278 279 external_deps = [ 280 "ability_base:want", 281 "c_utils:utils", 282 "hilog:libhilog", 283 "hitrace:hitrace_meter", 284 "ipc:ipc_core", 285 "samgr:samgr_proxy", 286 ] 287 288 public_external_deps = [ 289 "bundle_framework:appexecfwk_base", 290 "bundle_framework:appexecfwk_core", 291 ] 292 293 innerapi_tags = [ 294 "platformsdk", 295 "sasdk", 296 ] 297 subsystem_name = "ability" 298 part_name = "ability_runtime" 299} 300 301ohos_prebuilt_etc("ams_service_config.json") { 302 source = "resource/ams_service_config.json" 303 subsystem_name = "ability" 304 part_name = "ability_runtime" 305} 306 307ohos_prebuilt_etc("uiextension_picker_config.json") { 308 source = "resource/uiextension_picker_config.json" 309 subsystem_name = "ability" 310 part_name = "ability_runtime" 311} 312 313ohos_prebuilt_etc("deeplink_reserve_config.json") { 314 source = "resource/deeplink_reserve_config.json" 315 subsystem_name = "ability" 316 part_name = "ability_runtime" 317} 318 319ohos_prebuilt_etc("ams_extension_config.json") { 320 source = "resource/ams_extension_config.json" 321 subsystem_name = "ability" 322 part_name = "ability_runtime" 323} 324 325ohos_prebuilt_etc("start_ability_without_caller_token.json") { 326 source = "resource/start_ability_without_caller_token.json" 327 subsystem_name = "ability" 328 part_name = "ability_runtime" 329} 330 331ohos_shared_library("mission_list") { 332 sanitize = { 333 integer_overflow = true 334 ubsan = true 335 boundary_sanitize = true 336 cfi = true 337 cfi_cross_dso = true 338 cfi_vcall_icall_only = true 339 debug = false 340 } 341 branch_protector_ret = "pac_ret" 342 343 include_dirs = [ 344 "${ability_runtime_innerkits_path}/ability_manager/include", 345 "${ability_runtime_innerkits_path}/ability_manager/include/status_bar_delegate", 346 "${ability_runtime_innerkits_path}/connectionobs_manager/include", 347 "${ability_runtime_innerkits_path}/deps_wrapper/include", 348 "${ability_runtime_innerkits_path}/session_handler/include", 349 "${ability_runtime_path}/interfaces/kits/native/ability/native", 350 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper", 351 "${ability_runtime_services_path}/abilitymgr/data_ability/include", 352 "${ability_runtime_services_path}/abilitymgr/include/utils", 353 "${ability_runtime_services_path}/abilitymgr/include", 354 "${ability_runtime_services_path}/abilitymgr/include/mission", 355 "${ability_runtime_services_path}/common/include", 356 "${ability_runtime_services_path}/appdfr/include", 357 "${ability_runtime_utils_path}/global/constant", 358 "${ability_runtime_utils_path}/server/constant", 359 ] 360 361 defines = [] 362 363 if (ability_command_for_test) { 364 defines += [ "ABILITY_COMMAND_FOR_TEST" ] 365 } 366 367 if (ability_runtime_graphics) { 368 defines += [ 369 "SUPPORT_GRAPHICS", 370 "SUPPORT_SCREEN", 371 ] 372 } 373 374 cflags = [] 375 if (target_cpu == "arm") { 376 cflags += [ "-DBINDER_IPC_32BIT" ] 377 } 378 379 sources = [ 380 "src/mission/mission.cpp", 381 "src/mission/mission_data_storage.cpp", 382 "src/mission/mission_info_mgr.cpp", 383 "src/mission/mission_list.cpp", 384 "src/mission/mission_list_manager.cpp", 385 "src/task_data_persistence_mgr.cpp", 386 ] 387 388 deps = [ 389 ":abilityms", 390 "${ability_runtime_innerkits_path}/ability_manager:ability_manager", 391 "${ability_runtime_innerkits_path}/ability_manager:ability_start_options", 392 "${ability_runtime_innerkits_path}/ability_manager:ability_start_setting", 393 "${ability_runtime_innerkits_path}/ability_manager:mission_info", 394 "${ability_runtime_innerkits_path}/ability_manager:process_options", 395 "${ability_runtime_innerkits_path}/app_manager:app_manager", 396 "${ability_runtime_innerkits_path}/uri_permission:uri_permission_mgr", 397 "${ability_runtime_native_path}/ability/native:auto_startup_callback", 398 "${ability_runtime_native_path}/appkit:appkit_manager_helper", 399 "${ability_runtime_path}/utils/global/freeze:freeze_util", 400 "${ability_runtime_path}/utils/server/startup:startup_util", 401 "${ability_runtime_services_path}/common:app_util", 402 "${ability_runtime_services_path}/common:event_report", 403 "${ability_runtime_services_path}/common:perm_verification", 404 "${ability_runtime_services_path}/common:res_sched_util", 405 "${ability_runtime_services_path}/common:task_handler_wrap", 406 ] 407 408 external_deps = [ 409 "ability_base:base", 410 "ability_base:configuration", 411 "ability_base:session_info", 412 "ability_base:view_data", 413 "ability_base:want", 414 "ability_base:zuri", 415 "access_token:libaccesstoken_sdk", 416 "access_token:libtokenid_sdk", 417 "background_task_mgr:bgtaskmgr_innerkits", 418 "bundle_framework:appexecfwk_base", 419 "bundle_framework:appexecfwk_core", 420 "bundle_framework:libappexecfwk_common", 421 "c_utils:utils", 422 "common_event_service:cesfwk_innerkits", 423 "config_policy:configpolicy_util", 424 "dsoftbus:softbus_client", 425 "ffrt:libffrt", 426 "graphic_2d:color_manager", 427 "hicollie:libhicollie", 428 "hilog:libhilog", 429 "hisysevent:libhisysevent", 430 "hitrace:hitrace_meter", 431 "icu:shared_icuuc", 432 "init:libbeget_proxy", 433 "init:libbegetutil", 434 "ipc:ipc_core", 435 "json:nlohmann_json_static", 436 "kv_store:distributeddata_inner", 437 "os_account:os_account_innerkits", 438 "relational_store:native_appdatafwk", 439 "relational_store:native_dataability", 440 "relational_store:native_rdb", 441 "safwk:system_ability_fwk", 442 "samgr:samgr_proxy", 443 ] 444 445 if (background_task_mgr_continuous_task_enable) { 446 external_deps += [ "background_task_mgr:bgtaskmgr_innerkits" ] 447 } 448 449 if (os_dlp_part_enabled) { 450 defines += [ "WITH_DLP" ] 451 external_deps += [ "dlp_permission_service:libdlp_permission_sdk" ] 452 } 453 454 if (ability_runtime_graphics) { 455 external_deps += [ 456 "ability_base:session_info", 457 "i18n:intl_util", 458 "image_framework:image_native", 459 "resource_management:global_resmgr", 460 "window_manager:libdm", 461 "window_manager:libwm", 462 ] 463 } 464 465 cflags_cc = [] 466 if (os_dlp_part_enabled) { 467 cflags_cc += [ "-DWITH_DLP" ] 468 } 469 470 subsystem_name = "ability" 471 innerapi_tags = [ "platformsdk_indirect" ] 472 part_name = "ability_runtime" 473} 474 475group("ams_service_config") { 476 deps = [ 477 ":ams_service_config.json", 478 ":deeplink_reserve_config.json", 479 ":start_ability_without_caller_token.json", 480 ":uiextension_picker_config.json", 481 ] 482} 483