# Copyright (c) 2021-2024 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/components/ets_frontend/es2abc_config.gni") import("//build/ohos.gni") import("//build/templates/abc/ohos_abc.gni") import("//commonlibrary/memory_utils/purgeable_mem_config.gni") import("//foundation/ability/ability_runtime/ability_runtime.gni") ohos_abc("delegator_mgmt") { sources = [ "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/delegator_mgmt.js" ] output_name = "delegator_mgmt" install_images = [ "system" ] module_install_dir = "etc/abc/ability" subsystem_name = "ability" part_name = "ability_runtime" } config("appkit_exception_config") { cflags_cc = [ "-fexceptions" ] } config("appkit_config") { defines = [ "AMS_LOG_TAG = \"Appkit\"" ] defines += [ "AMS_LOG_DOMAIN = 0xD001305" ] if (target_cpu == "arm64") { defines += [ "_ARM64_" ] } if (target_cpu == "arm64") { defines += [ "APP_USE_ARM64" ] } else if (target_cpu == "arm") { defines += [ "APP_USE_ARM" ] } else if (target_cpu == "x86_64") { defines += [ "APP_USE_X86_64" ] } include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/app", "${ability_runtime_path}/interfaces/kits/native/appkit/dfr", "${ability_runtime_path}/interfaces/kits/native/ability/native", ] } config("appkit_public_config") { visibility = [ ":*" ] include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/ability_delegator", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "${ability_runtime_path}/interfaces/kits/native/appkit/app", "${ability_runtime_path}/interfaces/kits/native/appkit/dfr", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper", ] if (ability_runtime_graphics) { defines = [ "SUPPORT_GRAPHICS", "SUPPORT_APP_PREFERRED_LANGUAGE", ] } } # build so ohos_shared_library("appkit_native") { include_dirs = [ "native", "${ability_runtime_path}/interfaces/inner_api/error_utils/include", "${ability_runtime_path}/interfaces/kits/native/appkit", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "${ability_runtime_path}/interfaces/kits/native/appkit/app", "${ability_runtime_path}/interfaces/kits/native/appkit/dfr", "${ability_runtime_path}/interfaces/kits/native/appkit/app/task", "${ability_runtime_path}/interfaces/kits/native/appkit/app_startup", "${ability_runtime_innerkits_path}/deps_wrapper/include", "${ability_runtime_services_path}/common/include", "${ability_runtime_path}/interfaces/kits/native/ability/native", "${ability_runtime_path}/interfaces/kits/native/ability/native/recovery", "${ability_runtime_path}/utils/global/time/include", "${ability_runtime_services_path}/abilitymgr/include", "${ability_runtime_napi_path}/inner/napi_common", "${ability_runtime_utils_path}/global/constant", ] if (ability_runtime_graphics) { include_dirs += [ "${graphic_path}/frameworks/opengl_wrapper/src/EGL" ] } configs = [ ":appkit_config", ":appkit_exception_config", ] public_configs = [ ":appkit_public_config" ] sources = [ "${ability_runtime_native_path}/appkit/ability_runtime/app/ability_stage.cpp", "${ability_runtime_native_path}/appkit/ability_runtime/app/js_ability_stage.cpp", "${ability_runtime_native_path}/appkit/ability_runtime/app/js_ability_stage_context.cpp", "${ability_runtime_native_path}/appkit/app/ability_record_mgr.cpp", "${ability_runtime_native_path}/appkit/app/app_loader.cpp", "${ability_runtime_native_path}/appkit/app/application_cleaner.cpp", "${ability_runtime_native_path}/appkit/app/application_data_manager.cpp", "${ability_runtime_native_path}/appkit/app/application_env.cpp", "${ability_runtime_native_path}/appkit/app/application_env_impl.cpp", "${ability_runtime_native_path}/appkit/app/application_impl.cpp", "${ability_runtime_native_path}/appkit/app/assert_fault_callback.cpp", "${ability_runtime_native_path}/appkit/app/assert_fault_task_thread.cpp", "${ability_runtime_native_path}/appkit/app/child_main_thread.cpp", "${ability_runtime_native_path}/appkit/app/dump_ffrt_helper.cpp", "${ability_runtime_native_path}/appkit/app/dump_ipc_helper.cpp", "${ability_runtime_native_path}/appkit/app/dump_runtime_helper.cpp", "${ability_runtime_native_path}/appkit/app/extension_plugin_info.cpp", "${ability_runtime_native_path}/appkit/app/idle_time.cpp", "${ability_runtime_native_path}/appkit/app/main_thread.cpp", "${ability_runtime_native_path}/appkit/app/native_lib_util.cpp", "${ability_runtime_native_path}/appkit/app/ohos_application.cpp", "${ability_runtime_native_path}/appkit/app_startup/js_startup_config.cpp", "${ability_runtime_native_path}/appkit/app_startup/js_startup_task.cpp", "${ability_runtime_native_path}/appkit/app_startup/js_startup_task_executor.cpp", "${ability_runtime_native_path}/appkit/app_startup/js_startup_task_result.cpp", "${ability_runtime_native_path}/appkit/app_startup/startup_config.cpp", "${ability_runtime_native_path}/appkit/app_startup/startup_listener.cpp", "${ability_runtime_native_path}/appkit/app_startup/startup_manager.cpp", "${ability_runtime_native_path}/appkit/app_startup/startup_task.cpp", "${ability_runtime_native_path}/appkit/app_startup/startup_task_dispatcher.cpp", "${ability_runtime_native_path}/appkit/app_startup/startup_task_manager.cpp", "${ability_runtime_native_path}/appkit/app_startup/startup_task_result.cpp", "${ability_runtime_native_path}/appkit/app_startup/startup_topologysort.cpp", "${ability_runtime_native_path}/appkit/app_startup/startup_utils.cpp", "${ability_runtime_native_path}/appkit/dfr/appfreeze_inner.cpp", "${ability_runtime_native_path}/appkit/dfr/appfreeze_state.cpp", "${ability_runtime_native_path}/appkit/dfr/watchdog.cpp", ] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } deps = [ ":appkit_delegator", "${ability_runtime_abilitymgr_path}/:abilityms", "${ability_runtime_innerkits_path}/ability_manager:ability_manager", "${ability_runtime_innerkits_path}/ability_manager:ability_start_options", "${ability_runtime_innerkits_path}/app_manager:app_manager", "${ability_runtime_innerkits_path}/child_process_manager:child_process_manager", "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper", "${ability_runtime_innerkits_path}/runtime:runtime", "${ability_runtime_innerkits_path}/uri_permission:uri_permission_mgr", "${ability_runtime_native_path}/ability/native:ability_thread", "${ability_runtime_native_path}/ability/native:abilitykit_native", "${ability_runtime_native_path}/ability/native:uiabilitykit_native", "${ability_runtime_native_path}/appkit:app_context", "${ability_runtime_native_path}/appkit:app_context_utils", "${ability_runtime_native_path}/appkit:appkit_manager_helper", "${ability_runtime_path}/js_environment/frameworks/js_environment:js_environment", "${ability_runtime_path}/utils/global/freeze:freeze_util", "${ability_runtime_services_path}/common:app_util", ] external_deps = [ "ability_base:base", "ability_base:extractresourcemanager", "ability_base:string_utils", "ability_base:want", "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", "common_event_service:cesfwk_innerkits", "ets_runtime:libark_jsruntime", "eventhandler:libeventhandler", "faultloggerd:libbacktrace_local", "faultloggerd:libdfx_procinfo", "faultloggerd:libfaultloggerd", "ffrt:libffrt", "hicollie:libhicollie", "hilog:libhilog", "hisysevent:libhisysevent", "hitrace:hitrace_meter", "i18n:preferred_language", "init:libbegetutil", "ipc:ipc_core", "json:nlohmann_json_static", "napi:ace_napi", "resource_management:global_resmgr", "safwk:system_ability_fwk", "samgr:samgr_proxy", ] public_external_deps = [ "ability_base:configuration" ] defines = [] if (ability_runtime_graphics) { deps += [ "//third_party/icu/icu4c:shared_icuuc" ] external_deps += [ "ace_engine:ace_forward_compatibility", "graphic_2d:librender_service_client", "i18n:intl_util", "window_manager:libwm", ] defines += [ "NWEB_GRAPHIC" ] } if (is_asan || asan_detector) { defines += [ "SUPPORT_ASAN" ] } if (defined(global_parts_info.web_webview)) { external_deps += [ "webview:libnweb", "webview:nweb_ohos_adapter", ] defines += [ "NWEB" ] } if (memory_utils_purgeable_ashmem_enable && defined(global_parts_info) && defined(global_parts_info.resourceschedule_memmgr_override)) { defines += [ "IMAGE_PURGEABLE_PIXELMAP" ] external_deps += [ "memmgr:libpurgeablemem_plugin" ] } if (cj_frontend) { sources += [ "${ability_runtime_native_path}/appkit/ability_runtime/app/cj_ability_stage.cpp", "${ability_runtime_native_path}/appkit/ability_runtime/app/cj_ability_stage_context.cpp", "${ability_runtime_native_path}/appkit/ability_runtime/app/cj_ability_stage_object.cpp", ] include_dirs += [ "${ability_runtime_path}/cj_environment/interfaces/inner_api", "${ability_runtime_path}/frameworks/cj/ffi", ] defines += [ "CJ_FRONTEND" ] external_deps += [ "bundle_framework:appexecfwk_base", "napi:cj_bind_ffi", "napi:cj_bind_native", ] } if (ability_runtime_app_no_response_dialog) { defines += [ "APP_NO_RESPONSE_DIALOG" ] } cflags_cc = [] if (os_dlp_part_enabled) { cflags_cc += [ "-DWITH_DLP" ] } innerapi_tags = [ "platformsdk" ] version_script = "libappkit_native.map" subsystem_name = "ability" part_name = "ability_runtime" } # build so ohos_shared_library("app_context") { branch_protector_ret = "pac_ret" include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "${ability_runtime_path}/interfaces/kits/native/appkit/app", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper", ] configs = [ ":appkit_config" ] public_configs = [ ":appkit_public_config" ] sources = [ "${ability_runtime_native_path}/appkit/ability_runtime/context/ability_lifecycle_callback.cpp", "${ability_runtime_native_path}/appkit/ability_runtime/context/ability_stage_context.cpp", "${ability_runtime_native_path}/appkit/ability_runtime/context/application_context.cpp", "${ability_runtime_native_path}/appkit/ability_runtime/context/application_state_change_callback.cpp", "${ability_runtime_native_path}/appkit/ability_runtime/context/context_impl.cpp", "${ability_runtime_native_path}/appkit/ability_runtime/context/environment_callback.cpp", "${ability_runtime_native_path}/appkit/app/overlay_event_subscriber.cpp", "${ability_runtime_native_path}/appkit/app/sys_mgr_client.cpp", ] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } deps = [ "${ability_runtime_innerkits_path}/ability_manager:ability_manager", "${ability_runtime_innerkits_path}/ability_manager:ability_start_options", "${ability_runtime_innerkits_path}/app_manager:app_manager", "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper", "${ability_runtime_innerkits_path}/runtime:runtime", "${ability_runtime_native_path}/appkit:appkit_manager_helper", ] external_deps = [ "ability_base:extractortool", "ability_base:session_info", "c_utils:utils", "common_event_service:cesfwk_innerkits", "hilog:libhilog", "hitrace:hitrace_meter", "init:libbegetutil", "ipc:ipc_core", "json:nlohmann_json_static", "napi:ace_napi", "resource_management:global_resmgr", "samgr:samgr_proxy", ] public_external_deps = [ "ability_base:configuration", "ability_base:session_info", "ability_base:want", "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", ] if (ability_runtime_graphics) { deps += [ "//third_party/icu/icu4c:shared_icuuc" ] external_deps += [ "i18n:intl_util" ] } innerapi_tags = [ "platformsdk" ] subsystem_name = "ability" part_name = "ability_runtime" } # build so ohos_shared_library("app_context_utils") { branch_protector_ret = "pac_ret" include_dirs = [ "${ability_runtime_napi_path}/ability_auto_startup_callback", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", ] configs = [ ":appkit_config" ] public_configs = [ ":appkit_public_config" ] sources = [ "ability_runtime/context/js_application_context_utils.cpp", "ability_runtime/context/js_context_utils.cpp", "ability_runtime/context/js_resource_manager_utils.cpp", ] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } deps = [ "${ability_runtime_innerkits_path}/ability_manager:ability_manager", "${ability_runtime_innerkits_path}/ability_manager:ability_start_options", "${ability_runtime_innerkits_path}/app_manager:app_manager", "${ability_runtime_innerkits_path}/error_utils:ability_runtime_error_util", "${ability_runtime_innerkits_path}/runtime:runtime", "${ability_runtime_napi_path}/inner/napi_common:napi_common", "${ability_runtime_native_path}/ability/native:ability_business_error", "${ability_runtime_native_path}/ability/native:auto_startup_callback", "${ability_runtime_native_path}/appkit:app_context", "${ability_runtime_native_path}/appkit:application_context_manager", ] external_deps = [ "ability_base:want", "access_token:libtokenid_sdk", "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", "hilog:libhilog", "hitrace:hitrace_meter", "ipc:ipc_core", "json:nlohmann_json_static", "napi:ace_napi", "resource_management:global_resmgr", "resource_management:resmgr_napi_core", ] public_external_deps = [ "ability_base:configuration" ] if (ability_runtime_graphics) { deps += [ "//third_party/icu/icu4c:shared_icuuc" ] external_deps += [ "i18n:intl_util" ] } innerapi_tags = [ "platformsdk" ] subsystem_name = "ability" part_name = "ability_runtime" } # build so ohos_shared_library("appkit_delegator") { branch_protector_ret = "pac_ret" include_dirs = [ "native", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/ability_delegator/include", "${ability_runtime_services_path}/common/include", "${ability_runtime_path}/interfaces/kits/native/ability/native", ] configs = [ ":appkit_config" ] public_configs = [ ":appkit_public_config" ] sources = [ "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator.cpp", "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator_args.cpp", "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator_registry.cpp", "${ability_runtime_native_path}/appkit/ability_delegator/delegator_thread.cpp", "${ability_runtime_native_path}/appkit/ability_delegator/iability_monitor.cpp", "${ability_runtime_native_path}/appkit/ability_delegator/iability_stage_monitor.cpp", "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/js_test_runner.cpp", "${ability_runtime_native_path}/appkit/ability_delegator/shell_cmd_result.cpp", "${ability_runtime_native_path}/appkit/ability_delegator/test_runner.cpp", "${ability_runtime_path}/tools/aa/src/shell_command_result.cpp", "${ability_runtime_path}/tools/aa/src/test_observer_proxy.cpp", ] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } deps = [ "${ability_runtime_innerkits_path}/ability_manager:ability_manager", "${ability_runtime_innerkits_path}/ability_manager:ability_start_options", "${ability_runtime_innerkits_path}/runtime:runtime", "${ability_runtime_native_path}/appkit:app_context", "${ability_runtime_native_path}/appkit:delegator_mgmt", ] external_deps = [ "ability_base:want", "bundle_framework:appexecfwk_base", "c_utils:utils", "common_event_service:cesfwk_innerkits", "eventhandler:libeventhandler", "hilog:libhilog", "ipc:ipc_core", "json:nlohmann_json_static", "napi:ace_napi", ] public_external_deps = [ "ability_base:configuration" ] if (cj_frontend) { sources += [ "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/cj_test_runner.cpp", "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/cj_test_runner_object.cpp", ] include_dirs += [ "${ability_runtime_path}/cj_environment/interfaces/inner_api" ] defines = [ "CJ_FRONTEND" ] } if (ability_runtime_graphics) { deps += [ "//third_party/icu/icu4c:shared_icuuc" ] } innerapi_tags = [ "platformsdk" ] subsystem_name = "ability" part_name = "ability_runtime" } config("application_context_manager_config") { include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "${ability_runtime_services_path}/common/include", ] } ohos_shared_library("appkit_manager_helper") { branch_protector_ret = "pac_ret" include_dirs = [ "native", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper", "${ability_runtime_services_path}/common/include", "${ability_runtime_path}/interfaces/kits/native/ability/native", "${ability_runtime_utils_path}/global/constant", ] configs = [ ":appkit_config" ] sources = [ "${ability_runtime_native_path}/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp" ] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } deps = [] external_deps = [ "ability_base:want", "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "bundle_framework:libappexecfwk_common", "c_utils:utils", "hilog:libhilog", "hitrace:hitrace_meter", "ipc:ipc_core", "json:nlohmann_json_static", "samgr:samgr_proxy", ] if (ability_runtime_graphics) { deps += [ "//third_party/icu/icu4c:shared_icuuc" ] } innerapi_tags = [ "platformsdk" ] subsystem_name = "ability" part_name = "ability_runtime" } ohos_shared_library("application_context_manager") { branch_protector_ret = "pac_ret" sources = [ "${ability_runtime_native_path}/appkit/ability_runtime/context/application_context_manager.cpp" ] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } external_deps = [ "hilog:libhilog", "napi:ace_napi", ] public_configs = [ ":application_context_manager_config" ] subsystem_name = "ability" part_name = "ability_runtime" }