1# Copyright (c) 2021-2023 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("//arkcompiler/ets_frontend/es2panda/es2abc_config.gni") 15import("//build/ohos.gni") 16import("//commonlibrary/memory_utils/purgeable_mem_config.gni") 17import("//foundation/ability/ability_runtime/ability_runtime.gni") 18 19es2abc_gen_abc("gen_delegator_mgmt_abc") { 20 src_js = rebase_path( 21 "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/delegator_mgmt.js") 22 dst_file = rebase_path(target_out_dir + "/delegator_mgmt.abc") 23 in_puts = [ "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/delegator_mgmt.js" ] 24 out_puts = [ target_out_dir + "/delegator_mgmt.abc" ] 25 extra_args = [ "--module" ] 26} 27 28gen_js_obj("delegator_mgmt_js") { 29 input = "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/delegator_mgmt.js" 30 output = target_out_dir + "/delegator_mgmt.o" 31} 32 33gen_js_obj("delegator_mgmt_abc") { 34 input = get_label_info(":gen_delegator_mgmt_abc", "target_out_dir") + 35 "/delegator_mgmt.abc" 36 output = target_out_dir + "/delegator_mgmt_abc.o" 37 dep = ":gen_delegator_mgmt_abc" 38} 39 40config("appkit_exception_config") { 41 cflags_cc = [ "-fexceptions" ] 42} 43 44config("appkit_config") { 45 defines = [ "AMS_LOG_TAG = \"Appkit\"" ] 46 defines += [ "AMS_LOG_DOMAIN = 0xD001305" ] 47 if (target_cpu == "arm64") { 48 defines += [ "_ARM64_" ] 49 } 50 if (target_cpu == "arm64") { 51 defines += [ "APP_USE_ARM64" ] 52 } else if (target_cpu == "arm") { 53 defines += [ "APP_USE_ARM" ] 54 } else if (target_cpu == "x86_64") { 55 defines += [ "APP_USE_X86_64" ] 56 } 57 58 include_dirs = [ 59 "${ability_runtime_path}/interfaces/kits/native/appkit/app", 60 "${ability_runtime_path}/interfaces/kits/native/appkit/dfr", 61 "${ability_runtime_path}/interfaces/kits/native/ability/native", 62 "//third_party/json/include", 63 ] 64} 65 66config("appkit_public_config") { 67 visibility = [ ":*" ] 68 include_dirs = [ 69 "${ability_base_kits_path}/configuration/include", 70 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_delegator", 71 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", 72 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", 73 "${ability_runtime_path}/interfaces/kits/native/appkit/app", 74 "${ability_runtime_path}/interfaces/kits/native/appkit/dfr", 75 "${global_path}/resource_management/interfaces/inner_api/include", 76 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper", 77 ] 78 79 if (ability_runtime_graphics) { 80 include_dirs += [ 81 "${global_path}/i18n/frameworks/intl/include", 82 "//third_party/icu/icu4c/source/common", 83 ] 84 85 defines = [ 86 "SUPPORT_GRAPHICS", 87 "SUPPORT_APP_PREFERRED_LANGUAGE", 88 ] 89 } 90} 91 92# build so 93ohos_shared_library("appkit_native") { 94 include_dirs = [ 95 "native", 96 "${ability_runtime_path}/interfaces/kits/native/appkit", 97 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper", 98 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", 99 "${ability_runtime_path}/interfaces/kits/native/appkit/app", 100 "${ability_runtime_path}/interfaces/kits/native/appkit/dfr", 101 "${ability_runtime_path}/interfaces/kits/native/appkit/app/task", 102 "${ability_runtime_services_path}/common/include", 103 "${ability_runtime_path}/interfaces/kits/native/ability/native", 104 "${ability_runtime_path}/interfaces/kits/native/ability/native/recovery", 105 "${ability_runtime_path}/utils/global/time/include", 106 "${ability_runtime_services_path}/abilitymgr/include", 107 "${ability_runtime_napi_path}/inner/napi_common", 108 ] 109 110 configs = [ 111 ":appkit_config", 112 ":appkit_exception_config", 113 ] 114 115 public_configs = [ ":appkit_public_config" ] 116 117 sources = [ 118 "${ability_runtime_native_path}/appkit/ability_runtime/app/ability_stage.cpp", 119 "${ability_runtime_native_path}/appkit/ability_runtime/app/js_ability_stage.cpp", 120 "${ability_runtime_native_path}/appkit/ability_runtime/app/js_ability_stage_context.cpp", 121 "${ability_runtime_native_path}/appkit/app/ability_manager.cpp", 122 "${ability_runtime_native_path}/appkit/app/ability_record_mgr.cpp", 123 "${ability_runtime_native_path}/appkit/app/app_loader.cpp", 124 "${ability_runtime_native_path}/appkit/app/application_cleaner.cpp", 125 "${ability_runtime_native_path}/appkit/app/application_data_manager.cpp", 126 "${ability_runtime_native_path}/appkit/app/application_env.cpp", 127 "${ability_runtime_native_path}/appkit/app/application_env_impl.cpp", 128 "${ability_runtime_native_path}/appkit/app/application_impl.cpp", 129 "${ability_runtime_native_path}/appkit/app/child_main_thread.cpp", 130 "${ability_runtime_native_path}/appkit/app/extension_plugin_info.cpp", 131 "${ability_runtime_native_path}/appkit/app/idle_time.cpp", 132 "${ability_runtime_native_path}/appkit/app/main_thread.cpp", 133 "${ability_runtime_native_path}/appkit/app/mix_stack_dumper.cpp", 134 "${ability_runtime_native_path}/appkit/app/ohos_application.cpp", 135 "${ability_runtime_native_path}/appkit/dfr/appfreeze_inner.cpp", 136 "${ability_runtime_native_path}/appkit/dfr/watchdog.cpp", 137 ] 138 cflags = [] 139 if (target_cpu == "arm") { 140 cflags += [ "-DBINDER_IPC_32BIT" ] 141 } 142 deps = [ 143 ":appkit_delegator", 144 "${ability_runtime_abilitymgr_path}/:abilityms", 145 "${ability_runtime_innerkits_path}/ability_manager:ability_manager", 146 "${ability_runtime_innerkits_path}/app_manager:app_manager", 147 "${ability_runtime_innerkits_path}/child_process_manager:child_process_manager", 148 "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper", 149 "${ability_runtime_innerkits_path}/runtime:runtime", 150 "${ability_runtime_innerkits_path}/uri_permission:uri_permission_mgr", 151 "${ability_runtime_native_path}/ability/native:ability_thread", 152 "${ability_runtime_native_path}/ability/native:abilitykit_native", 153 "${ability_runtime_native_path}/ability/native:uiabilitykit_native", 154 "${ability_runtime_native_path}/appkit:app_context", 155 "${ability_runtime_native_path}/appkit:app_context_utils", 156 "${ability_runtime_native_path}/appkit:appkit_manager_helper", 157 "${ability_runtime_path}/js_environment/frameworks/js_environment:js_environment", 158 "${ability_runtime_path}/utils/global/freeze:freeze_util", 159 "${ability_runtime_services_path}/common:app_util", 160 ] 161 162 external_deps = [ 163 "ability_base:configuration", 164 "ability_base:extractresourcemanager", 165 "ability_base:string_utils", 166 "ability_base:want", 167 "bundle_framework:appexecfwk_base", 168 "bundle_framework:appexecfwk_core", 169 "c_utils:utils", 170 "common_event_service:cesfwk_innerkits", 171 "eventhandler:libeventhandler", 172 "faultloggerd:libbacktrace_local", 173 "faultloggerd:libdfx_procinfo", 174 "faultloggerd:libfaultloggerd", 175 "ffrt:libffrt", 176 "hicollie:libhicollie", 177 "hilog:libhilog", 178 "hisysevent:libhisysevent", 179 "hitrace:hitrace_meter", 180 "i18n:preferred_language", 181 "init:libbegetutil", 182 "ipc:ipc_core", 183 "napi:ace_napi", 184 "resource_management:global_resmgr", 185 "safwk:system_ability_fwk", 186 "samgr:samgr_proxy", 187 ] 188 189 if (ability_runtime_graphics) { 190 deps += [ "//third_party/icu/icu4c:shared_icuuc" ] 191 external_deps += [ 192 "ace_engine:ace_forward_compatibility", 193 "graphic_2d:librender_service_client", 194 "i18n:intl_util", 195 "window_manager:libwm", 196 ] 197 } 198 199 defines = [] 200 if (is_asan) { 201 defines += [ "SUPPORT_ASAN" ] 202 } 203 204 if (defined(global_parts_info.web_webview)) { 205 external_deps += [ 206 "webview:libnweb", 207 "webview:nweb_ohos_adapter", 208 ] 209 210 defines += [ "NWEB" ] 211 } 212 213 if (purgeable_ashmem_enable && defined(global_parts_info) && 214 defined(global_parts_info.resourceschedule_memmgr_plugin)) { 215 defines += [ "IMAGE_PURGEABLE_PIXELMAP" ] 216 external_deps += [ "memmgr_plugin:libpurgeablemem_plugin" ] 217 } 218 219 innerapi_tags = [ "platformsdk" ] 220 version_script = "libappkit_native.map" 221 subsystem_name = "ability" 222 part_name = "ability_runtime" 223} 224 225# build so 226ohos_shared_library("app_context") { 227 include_dirs = [ 228 "${ability_base_kits_path}/extractortool/include", 229 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", 230 "${ability_runtime_path}/interfaces/kits/native/appkit/app", 231 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper", 232 ] 233 234 configs = [ ":appkit_config" ] 235 236 public_configs = [ ":appkit_public_config" ] 237 238 sources = [ 239 "${ability_runtime_native_path}/appkit/ability_runtime/context/ability_lifecycle_callback.cpp", 240 "${ability_runtime_native_path}/appkit/ability_runtime/context/application_context.cpp", 241 "${ability_runtime_native_path}/appkit/ability_runtime/context/application_state_change_callback.cpp", 242 "${ability_runtime_native_path}/appkit/ability_runtime/context/context_impl.cpp", 243 "${ability_runtime_native_path}/appkit/ability_runtime/context/environment_callback.cpp", 244 "${ability_runtime_native_path}/appkit/app/overlay_event_subscriber.cpp", 245 "${ability_runtime_native_path}/appkit/app/sys_mgr_client.cpp", 246 ] 247 cflags = [] 248 if (target_cpu == "arm") { 249 cflags += [ "-DBINDER_IPC_32BIT" ] 250 } 251 deps = [ 252 "${ability_runtime_innerkits_path}/app_manager:app_manager", 253 "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper", 254 "${ability_runtime_innerkits_path}/runtime:runtime", 255 "${ability_runtime_native_path}/appkit:appkit_manager_helper", 256 ] 257 258 external_deps = [ 259 "ability_base:configuration", 260 "ability_base:want", 261 "bundle_framework:appexecfwk_base", 262 "bundle_framework:appexecfwk_core", 263 "c_utils:utils", 264 "common_event_service:cesfwk_innerkits", 265 "hilog:libhilog", 266 "init:libbegetutil", 267 "ipc:ipc_core", 268 "napi:ace_napi", 269 "resource_management:global_resmgr", 270 "samgr:samgr_proxy", 271 ] 272 273 if (ability_runtime_graphics) { 274 deps += [ "//third_party/icu/icu4c:shared_icuuc" ] 275 external_deps += [ "i18n:intl_util" ] 276 } 277 278 innerapi_tags = [ "platformsdk" ] 279 subsystem_name = "ability" 280 part_name = "ability_runtime" 281} 282 283# build so 284ohos_shared_library("app_context_utils") { 285 include_dirs = [ 286 "${ability_runtime_napi_path}/ability_auto_startup_callback", 287 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", 288 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", 289 ] 290 291 configs = [ ":appkit_config" ] 292 293 public_configs = [ ":appkit_public_config" ] 294 295 sources = [ 296 "ability_runtime/context/js_application_context_utils.cpp", 297 "ability_runtime/context/js_context_utils.cpp", 298 "ability_runtime/context/js_resource_manager_utils.cpp", 299 ] 300 cflags = [] 301 if (target_cpu == "arm") { 302 cflags += [ "-DBINDER_IPC_32BIT" ] 303 } 304 deps = [ 305 "${ability_runtime_innerkits_path}/ability_manager:ability_manager", 306 "${ability_runtime_innerkits_path}/app_manager:app_manager", 307 "${ability_runtime_innerkits_path}/error_utils:ability_runtime_error_util", 308 "${ability_runtime_innerkits_path}/runtime:runtime", 309 "${ability_runtime_napi_path}/inner/napi_common:napi_common", 310 "${ability_runtime_native_path}/ability/native:ability_business_error", 311 "${ability_runtime_native_path}/ability/native:auto_startup_callback", 312 "${ability_runtime_native_path}/appkit:app_context", 313 "${ability_runtime_native_path}/appkit:application_context_manager", 314 ] 315 316 external_deps = [ 317 "access_token:libtokenid_sdk", 318 "bundle_framework:appexecfwk_base", 319 "bundle_framework:appexecfwk_core", 320 "c_utils:utils", 321 "hilog:libhilog", 322 "ipc:ipc_core", 323 "napi:ace_napi", 324 "resource_management:global_resmgr", 325 "resource_management:resmgr_napi_core", 326 ] 327 328 if (ability_runtime_graphics) { 329 deps += [ "//third_party/icu/icu4c:shared_icuuc" ] 330 external_deps += [ "i18n:intl_util" ] 331 } 332 333 innerapi_tags = [ "platformsdk" ] 334 subsystem_name = "ability" 335 part_name = "ability_runtime" 336} 337 338# build so 339ohos_shared_library("appkit_delegator") { 340 include_dirs = [ 341 "native", 342 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", 343 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", 344 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/ability_delegator/include", 345 "${ability_runtime_services_path}/common/include", 346 "${ability_runtime_path}/interfaces/kits/native/ability/native", 347 ] 348 349 configs = [ ":appkit_config" ] 350 351 public_configs = [ ":appkit_public_config" ] 352 353 sources = [ 354 "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator.cpp", 355 "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator_args.cpp", 356 "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator_registry.cpp", 357 "${ability_runtime_native_path}/appkit/ability_delegator/delegator_thread.cpp", 358 "${ability_runtime_native_path}/appkit/ability_delegator/iability_monitor.cpp", 359 "${ability_runtime_native_path}/appkit/ability_delegator/iability_stage_monitor.cpp", 360 "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/js_test_runner.cpp", 361 "${ability_runtime_native_path}/appkit/ability_delegator/shell_cmd_result.cpp", 362 "${ability_runtime_native_path}/appkit/ability_delegator/test_runner.cpp", 363 "${ability_runtime_path}/tools/aa/src/shell_command_result.cpp", 364 "${ability_runtime_path}/tools/aa/src/test_observer_proxy.cpp", 365 ] 366 367 cflags = [] 368 if (target_cpu == "arm") { 369 cflags += [ "-DBINDER_IPC_32BIT" ] 370 } 371 372 deps = [ 373 ":delegator_mgmt_abc", 374 ":delegator_mgmt_js", 375 "${ability_runtime_innerkits_path}/ability_manager:ability_manager", 376 "${ability_runtime_innerkits_path}/runtime:runtime", 377 "${ability_runtime_native_path}/appkit:app_context", 378 ] 379 380 external_deps = [ 381 "ability_base:want", 382 "bundle_framework:appexecfwk_base", 383 "c_utils:utils", 384 "common_event_service:cesfwk_innerkits", 385 "eventhandler:libeventhandler", 386 "hilog:libhilog", 387 "ipc:ipc_core", 388 "napi:ace_napi", 389 ] 390 391 if (ability_runtime_graphics) { 392 deps += [ "//third_party/icu/icu4c:shared_icuuc" ] 393 } 394 395 innerapi_tags = [ "platformsdk" ] 396 subsystem_name = "ability" 397 part_name = "ability_runtime" 398} 399 400config("application_context_manager_config") { 401 include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context" ] 402} 403 404ohos_shared_library("appkit_manager_helper") { 405 include_dirs = [ 406 "native", 407 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", 408 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", 409 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper", 410 "${ability_runtime_services_path}/common/include", 411 "${ability_runtime_path}/interfaces/kits/native/ability/native", 412 ] 413 414 configs = [ ":appkit_config" ] 415 416 sources = [ "${ability_runtime_native_path}/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp" ] 417 418 cflags = [] 419 if (target_cpu == "arm") { 420 cflags += [ "-DBINDER_IPC_32BIT" ] 421 } 422 423 deps = [] 424 425 external_deps = [ 426 "bundle_framework:appexecfwk_core", 427 "bundle_framework:libappexecfwk_common", 428 "c_utils:utils", 429 "hilog:libhilog", 430 "ipc:ipc_core", 431 "samgr:samgr_proxy", 432 ] 433 434 if (ability_runtime_graphics) { 435 deps += [ "//third_party/icu/icu4c:shared_icuuc" ] 436 } 437 438 innerapi_tags = [ "platformsdk" ] 439 subsystem_name = "ability" 440 part_name = "ability_runtime" 441} 442 443ohos_shared_library("application_context_manager") { 444 sources = [ "${ability_runtime_native_path}/appkit/ability_runtime/context/application_context_manager.cpp" ] 445 446 cflags = [] 447 if (target_cpu == "arm") { 448 cflags += [ "-DBINDER_IPC_32BIT" ] 449 } 450 451 external_deps = [ "napi:ace_napi" ] 452 453 public_configs = [ ":application_context_manager_config" ] 454 455 subsystem_name = "ability" 456 part_name = "ability_runtime" 457} 458