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