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 if (target_cpu == "arm64") { 47 defines += [ "_ARM64_" ] 48 } 49 if (target_cpu == "arm64") { 50 defines += [ "APP_USE_ARM64" ] 51 } else if (target_cpu == "arm") { 52 defines += [ "APP_USE_ARM" ] 53 } 54 55 include_dirs = [ 56 "${ability_runtime_path}/interfaces/kits/native/ability/native", 57 "//third_party/json/include", 58 ] 59} 60 61config("appkit_public_config") { 62 visibility = [ ":*" ] 63 include_dirs = [ 64 "${ability_base_kits_path}/configuration/include", 65 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_delegator", 66 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", 67 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", 68 "${global_path}/resource_management/interfaces/inner_api/include", 69 ] 70 71 if (ability_runtime_graphics) { 72 include_dirs += [ 73 "${global_path}/i18n/frameworks/intl/include", 74 "//third_party/icu/icu4c/source/common", 75 ] 76 77 defines = [ "SUPPORT_GRAPHICS" ] 78 } 79} 80 81# build so 82ohos_shared_library("appkit_native") { 83 include_dirs = [ 84 "native", 85 "${ability_runtime_path}/interfaces/kits/native/appkit", 86 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", 87 "${ability_runtime_path}/interfaces/kits/native/appkit/app", 88 "${ability_runtime_path}/interfaces/kits/native/appkit/app/task", 89 "${ability_runtime_services_path}/common/include", 90 "${ability_runtime_path}/interfaces/kits/native/ability/native", 91 "${ability_runtime_path}/interfaces/kits/native/ability/native/recovery", 92 "${ability_runtime_services_path}/abilitymgr/include", 93 "${ability_runtime_napi_path}/inner/napi_common", 94 ] 95 96 configs = [ 97 ":appkit_config", 98 ":appkit_exception_config", 99 ] 100 101 public_configs = [ ":appkit_public_config" ] 102 103 sources = [ 104 "${ability_runtime_native_path}/appkit/ability_runtime/app/ability_stage.cpp", 105 "${ability_runtime_native_path}/appkit/ability_runtime/app/js_ability_stage.cpp", 106 "${ability_runtime_native_path}/appkit/ability_runtime/app/js_ability_stage_context.cpp", 107 "${ability_runtime_native_path}/appkit/app/ability_manager.cpp", 108 "${ability_runtime_native_path}/appkit/app/ability_record_mgr.cpp", 109 "${ability_runtime_native_path}/appkit/app/app_loader.cpp", 110 "${ability_runtime_native_path}/appkit/app/appfreeze_inner.cpp", 111 "${ability_runtime_native_path}/appkit/app/application_data_manager.cpp", 112 "${ability_runtime_native_path}/appkit/app/application_env.cpp", 113 "${ability_runtime_native_path}/appkit/app/application_env_impl.cpp", 114 "${ability_runtime_native_path}/appkit/app/application_impl.cpp", 115 "${ability_runtime_native_path}/appkit/app/extension_plugin_info.cpp", 116 "${ability_runtime_native_path}/appkit/app/idle_time.cpp", 117 "${ability_runtime_native_path}/appkit/app/main_thread.cpp", 118 "${ability_runtime_native_path}/appkit/app/mix_stack_dumper.cpp", 119 "${ability_runtime_native_path}/appkit/app/ohos_application.cpp", 120 "${ability_runtime_native_path}/appkit/app/watchdog.cpp", 121 ] 122 cflags = [] 123 if (target_cpu == "arm") { 124 cflags += [ "-DBINDER_IPC_32BIT" ] 125 } 126 deps = [ 127 ":appkit_delegator", 128 "${ability_runtime_abilitymgr_path}/:abilityms", 129 "${ability_runtime_innerkits_path}/ability_manager:ability_manager", 130 "${ability_runtime_innerkits_path}/app_manager:app_manager", 131 "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper", 132 "${ability_runtime_innerkits_path}/runtime:runtime", 133 "${ability_runtime_innerkits_path}/uri_permission:uri_permission_mgr", 134 "${ability_runtime_native_path}/ability/native:ability_thread", 135 "${ability_runtime_native_path}/ability/native:abilitykit_native", 136 "${ability_runtime_native_path}/appkit:app_context", 137 "${ability_runtime_native_path}/appkit:app_context_utils", 138 "${ability_runtime_path}/js_environment/frameworks/js_environment:js_environment", 139 ] 140 141 external_deps = [ 142 "ability_base:configuration", 143 "ability_base:extractresourcemanager", 144 "ability_base:string_utils", 145 "ability_base:want", 146 "bundle_framework:appexecfwk_base", 147 "bundle_framework:appexecfwk_core", 148 "c_utils:utils", 149 "common_event_service:cesfwk_innerkits", 150 "eventhandler:libeventhandler", 151 "faultloggerd:libbacktrace_local", 152 "faultloggerd:libdfx_procinfo", 153 "faultloggerd:libfaultloggerd", 154 "graphic_2d:librender_service_client", 155 "hicollie:libhicollie", 156 "hilog:libhilog", 157 "hisysevent:libhisysevent", 158 "hitrace:hitrace_meter", 159 "init:libbegetutil", 160 "ipc:ipc_core", 161 "napi:ace_napi", 162 "resource_management:global_resmgr", 163 "safwk:system_ability_fwk", 164 "samgr:samgr_proxy", 165 ] 166 167 if (ability_runtime_graphics) { 168 deps += [ "//third_party/icu/icu4c:shared_icuuc" ] 169 external_deps += [ 170 "i18n:intl_util", 171 "window_manager:libwm", 172 ] 173 } 174 175 defines = [] 176 if (is_asan) { 177 defines += [ "SUPPORT_ASAN" ] 178 } 179 180 if (defined(global_parts_info.web_webview)) { 181 external_deps += [ 182 "webview:libnweb", 183 "webview:nweb_ohos_adapter", 184 ] 185 186 defines += [ "NWEB" ] 187 } 188 189 if (purgeable_ashmem_enable) { 190 defines += [ "IMAGE_PURGEABLE_PIXELMAP" ] 191 external_deps += [ "memory_utils:libpurgeablemem" ] 192 } 193 194 innerapi_tags = [ "platformsdk" ] 195 version_script = "libappkit_native.map" 196 subsystem_name = "ability" 197 part_name = "ability_runtime" 198} 199 200# build so 201ohos_shared_library("app_context") { 202 include_dirs = [ 203 "${ability_base_kits_path}/extractortool/include", 204 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", 205 "${ability_runtime_path}/interfaces/kits/native/appkit/app", 206 ] 207 208 configs = [ ":appkit_config" ] 209 210 public_configs = [ ":appkit_public_config" ] 211 212 sources = [ 213 "${ability_runtime_native_path}/appkit/ability_runtime/context/ability_lifecycle_callback.cpp", 214 "${ability_runtime_native_path}/appkit/ability_runtime/context/application_context.cpp", 215 "${ability_runtime_native_path}/appkit/ability_runtime/context/application_state_change_callback.cpp", 216 "${ability_runtime_native_path}/appkit/ability_runtime/context/context_impl.cpp", 217 "${ability_runtime_native_path}/appkit/ability_runtime/context/environment_callback.cpp", 218 "${ability_runtime_native_path}/appkit/app/overlay_event_subscriber.cpp", 219 "${ability_runtime_native_path}/appkit/app/sys_mgr_client.cpp", 220 ] 221 cflags = [] 222 if (target_cpu == "arm") { 223 cflags += [ "-DBINDER_IPC_32BIT" ] 224 } 225 deps = [ 226 "${ability_runtime_innerkits_path}/app_manager:app_manager", 227 "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper", 228 "${ability_runtime_innerkits_path}/runtime:runtime", 229 ] 230 231 external_deps = [ 232 "ability_base:configuration", 233 "ability_base:want", 234 "bundle_framework:appexecfwk_base", 235 "bundle_framework:appexecfwk_core", 236 "c_utils:utils", 237 "common_event_service:cesfwk_innerkits", 238 "hilog:libhilog", 239 "init:libbegetutil", 240 "ipc:ipc_core", 241 "napi:ace_napi", 242 "resource_management:global_resmgr", 243 "samgr:samgr_proxy", 244 ] 245 246 if (ability_runtime_graphics) { 247 deps += [ "//third_party/icu/icu4c:shared_icuuc" ] 248 external_deps += [ "i18n:intl_util" ] 249 } 250 251 innerapi_tags = [ "platformsdk" ] 252 subsystem_name = "ability" 253 part_name = "ability_runtime" 254} 255 256# build so 257ohos_shared_library("app_context_utils") { 258 include_dirs = [ 259 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", 260 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", 261 ] 262 263 configs = [ ":appkit_config" ] 264 265 public_configs = [ ":appkit_public_config" ] 266 267 sources = [ 268 "ability_runtime/context/js_application_context_utils.cpp", 269 "ability_runtime/context/js_context_utils.cpp", 270 "ability_runtime/context/js_resource_manager_utils.cpp", 271 ] 272 cflags = [] 273 if (target_cpu == "arm") { 274 cflags += [ "-DBINDER_IPC_32BIT" ] 275 } 276 deps = [ 277 "${ability_runtime_innerkits_path}/app_manager:app_manager", 278 "${ability_runtime_innerkits_path}/error_utils:ability_runtime_error_util", 279 "${ability_runtime_innerkits_path}/runtime:runtime", 280 "${ability_runtime_native_path}/appkit:app_context", 281 ] 282 283 external_deps = [ 284 "access_token:libtokenid_sdk", 285 "bundle_framework:appexecfwk_base", 286 "bundle_framework:appexecfwk_core", 287 "c_utils:utils", 288 "hilog:libhilog", 289 "ipc:ipc_core", 290 "napi:ace_napi", 291 "resource_management:global_resmgr", 292 "resource_management:resmgr_napi_core", 293 ] 294 295 if (ability_runtime_graphics) { 296 deps += [ "//third_party/icu/icu4c:shared_icuuc" ] 297 external_deps += [ "i18n:intl_util" ] 298 } 299 300 innerapi_tags = [ "platformsdk" ] 301 subsystem_name = "ability" 302 part_name = "ability_runtime" 303} 304 305# build so 306ohos_shared_library("appkit_delegator") { 307 include_dirs = [ 308 "native", 309 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", 310 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", 311 "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/ability_delegator/include", 312 "${ability_runtime_services_path}/common/include", 313 "${ability_runtime_path}/interfaces/kits/native/ability/native", 314 ] 315 316 configs = [ ":appkit_config" ] 317 318 public_configs = [ ":appkit_public_config" ] 319 320 sources = [ 321 "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator.cpp", 322 "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator_args.cpp", 323 "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator_registry.cpp", 324 "${ability_runtime_native_path}/appkit/ability_delegator/delegator_thread.cpp", 325 "${ability_runtime_native_path}/appkit/ability_delegator/iability_monitor.cpp", 326 "${ability_runtime_native_path}/appkit/ability_delegator/iability_stage_monitor.cpp", 327 "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/js_test_runner.cpp", 328 "${ability_runtime_native_path}/appkit/ability_delegator/shell_cmd_result.cpp", 329 "${ability_runtime_native_path}/appkit/ability_delegator/test_runner.cpp", 330 "${ability_runtime_path}/tools/aa/src/shell_command_result.cpp", 331 "${ability_runtime_path}/tools/aa/src/test_observer_proxy.cpp", 332 ] 333 334 cflags = [] 335 if (target_cpu == "arm") { 336 cflags += [ "-DBINDER_IPC_32BIT" ] 337 } 338 339 deps = [ 340 ":delegator_mgmt_abc", 341 ":delegator_mgmt_js", 342 "${ability_runtime_innerkits_path}/ability_manager:ability_manager", 343 "${ability_runtime_innerkits_path}/runtime:runtime", 344 "${ability_runtime_native_path}/appkit:app_context", 345 ] 346 347 external_deps = [ 348 "ability_base:want", 349 "bundle_framework:appexecfwk_base", 350 "c_utils:utils", 351 "common_event_service:cesfwk_innerkits", 352 "eventhandler:libeventhandler", 353 "hilog:libhilog", 354 "ipc:ipc_core", 355 "napi:ace_napi", 356 ] 357 358 if (ability_runtime_graphics) { 359 deps += [ "//third_party/icu/icu4c:shared_icuuc" ] 360 } 361 362 innerapi_tags = [ "platformsdk" ] 363 subsystem_name = "ability" 364 part_name = "ability_runtime" 365} 366