• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/config/components/ets_frontend/es2abc_config.gni")
15import("//build/ohos.gni")
16import("//build/templates/abc/ohos_abc.gni")
17import("//commonlibrary/memory_utils/purgeable_mem_config.gni")
18import("//foundation/ability/ability_runtime/ability_runtime.gni")
19
20ohos_abc("delegator_mgmt") {
21  sources = [ "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/delegator_mgmt.js" ]
22  output_name = "delegator_mgmt"
23  install_images = [ "system" ]
24  module_install_dir = "etc/abc/ability"
25  subsystem_name = "ability"
26  part_name = "ability_runtime"
27}
28
29config("appkit_exception_config") {
30  cflags_cc = [ "-fexceptions" ]
31}
32
33config("appkit_config") {
34  defines = [ "AMS_LOG_TAG = \"Appkit\"" ]
35  defines += [ "AMS_LOG_DOMAIN = 0xD001305" ]
36  if (target_cpu == "arm64") {
37    defines += [ "_ARM64_" ]
38  }
39  if (target_cpu == "arm64") {
40    defines += [ "APP_USE_ARM64" ]
41  } else if (target_cpu == "arm") {
42    defines += [ "APP_USE_ARM" ]
43  } else if (target_cpu == "x86_64") {
44    defines += [ "APP_USE_X86_64" ]
45  }
46
47  include_dirs = [
48    "${ability_runtime_path}/interfaces/kits/native/appkit/app",
49    "${ability_runtime_path}/interfaces/kits/native/appkit/dfr",
50    "${ability_runtime_path}/interfaces/kits/native/ability/native",
51  ]
52}
53
54config("appkit_public_config") {
55  visibility = [ ":*" ]
56  include_dirs = [
57    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_delegator",
58    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app",
59    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
60    "${ability_runtime_path}/interfaces/kits/native/appkit/app",
61    "${ability_runtime_path}/interfaces/kits/native/appkit/dfr",
62    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper",
63  ]
64
65  if (ability_runtime_graphics) {
66    defines = [
67      "SUPPORT_GRAPHICS",
68      "SUPPORT_APP_PREFERRED_LANGUAGE",
69    ]
70  }
71}
72
73# build so
74ohos_shared_library("appkit_native") {
75  include_dirs = [
76    "native",
77    "${ability_runtime_path}/interfaces/inner_api/error_utils/include",
78    "${ability_runtime_path}/interfaces/kits/native/appkit",
79    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper",
80    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
81    "${ability_runtime_path}/interfaces/kits/native/appkit/app",
82    "${ability_runtime_path}/interfaces/kits/native/appkit/dfr",
83    "${ability_runtime_path}/interfaces/kits/native/appkit/app/task",
84    "${ability_runtime_path}/interfaces/kits/native/appkit/app_startup",
85    "${ability_runtime_innerkits_path}/deps_wrapper/include",
86    "${ability_runtime_services_path}/common/include",
87    "${ability_runtime_path}/interfaces/kits/native/ability/native",
88    "${ability_runtime_path}/interfaces/kits/native/ability/native/recovery",
89    "${ability_runtime_path}/utils/global/time/include",
90    "${ability_runtime_services_path}/abilitymgr/include",
91    "${ability_runtime_napi_path}/inner/napi_common",
92    "${ability_runtime_utils_path}/global/constant",
93  ]
94
95  if (ability_runtime_graphics) {
96    include_dirs += [ "${graphic_path}/frameworks/opengl_wrapper/src/EGL" ]
97  }
98
99  configs = [
100    ":appkit_config",
101    ":appkit_exception_config",
102  ]
103
104  public_configs = [ ":appkit_public_config" ]
105
106  sources = [
107    "${ability_runtime_native_path}/appkit/ability_runtime/app/ability_stage.cpp",
108    "${ability_runtime_native_path}/appkit/ability_runtime/app/js_ability_stage.cpp",
109    "${ability_runtime_native_path}/appkit/ability_runtime/app/js_ability_stage_context.cpp",
110    "${ability_runtime_native_path}/appkit/app/ability_record_mgr.cpp",
111    "${ability_runtime_native_path}/appkit/app/app_loader.cpp",
112    "${ability_runtime_native_path}/appkit/app/application_cleaner.cpp",
113    "${ability_runtime_native_path}/appkit/app/application_data_manager.cpp",
114    "${ability_runtime_native_path}/appkit/app/application_env.cpp",
115    "${ability_runtime_native_path}/appkit/app/application_env_impl.cpp",
116    "${ability_runtime_native_path}/appkit/app/application_impl.cpp",
117    "${ability_runtime_native_path}/appkit/app/assert_fault_callback.cpp",
118    "${ability_runtime_native_path}/appkit/app/assert_fault_task_thread.cpp",
119    "${ability_runtime_native_path}/appkit/app/child_main_thread.cpp",
120    "${ability_runtime_native_path}/appkit/app/dump_ffrt_helper.cpp",
121    "${ability_runtime_native_path}/appkit/app/dump_ipc_helper.cpp",
122    "${ability_runtime_native_path}/appkit/app/dump_runtime_helper.cpp",
123    "${ability_runtime_native_path}/appkit/app/extension_plugin_info.cpp",
124    "${ability_runtime_native_path}/appkit/app/idle_time.cpp",
125    "${ability_runtime_native_path}/appkit/app/main_thread.cpp",
126    "${ability_runtime_native_path}/appkit/app/native_lib_util.cpp",
127    "${ability_runtime_native_path}/appkit/app/ohos_application.cpp",
128    "${ability_runtime_native_path}/appkit/app_startup/js_startup_config.cpp",
129    "${ability_runtime_native_path}/appkit/app_startup/js_startup_task.cpp",
130    "${ability_runtime_native_path}/appkit/app_startup/js_startup_task_executor.cpp",
131    "${ability_runtime_native_path}/appkit/app_startup/js_startup_task_result.cpp",
132    "${ability_runtime_native_path}/appkit/app_startup/startup_config.cpp",
133    "${ability_runtime_native_path}/appkit/app_startup/startup_listener.cpp",
134    "${ability_runtime_native_path}/appkit/app_startup/startup_manager.cpp",
135    "${ability_runtime_native_path}/appkit/app_startup/startup_task.cpp",
136    "${ability_runtime_native_path}/appkit/app_startup/startup_task_dispatcher.cpp",
137    "${ability_runtime_native_path}/appkit/app_startup/startup_task_manager.cpp",
138    "${ability_runtime_native_path}/appkit/app_startup/startup_task_result.cpp",
139    "${ability_runtime_native_path}/appkit/app_startup/startup_topologysort.cpp",
140    "${ability_runtime_native_path}/appkit/app_startup/startup_utils.cpp",
141    "${ability_runtime_native_path}/appkit/dfr/appfreeze_inner.cpp",
142    "${ability_runtime_native_path}/appkit/dfr/appfreeze_state.cpp",
143    "${ability_runtime_native_path}/appkit/dfr/watchdog.cpp",
144  ]
145  cflags = []
146  if (target_cpu == "arm") {
147    cflags += [ "-DBINDER_IPC_32BIT" ]
148  }
149  deps = [
150    ":appkit_delegator",
151    "${ability_runtime_abilitymgr_path}/:abilityms",
152    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
153    "${ability_runtime_innerkits_path}/ability_manager:ability_start_options",
154    "${ability_runtime_innerkits_path}/app_manager:app_manager",
155    "${ability_runtime_innerkits_path}/child_process_manager:child_process_manager",
156    "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper",
157    "${ability_runtime_innerkits_path}/runtime:runtime",
158    "${ability_runtime_innerkits_path}/uri_permission:uri_permission_mgr",
159    "${ability_runtime_native_path}/ability/native:ability_thread",
160    "${ability_runtime_native_path}/ability/native:abilitykit_native",
161    "${ability_runtime_native_path}/ability/native:uiabilitykit_native",
162    "${ability_runtime_native_path}/appkit:app_context",
163    "${ability_runtime_native_path}/appkit:app_context_utils",
164    "${ability_runtime_native_path}/appkit:appkit_manager_helper",
165    "${ability_runtime_path}/js_environment/frameworks/js_environment:js_environment",
166    "${ability_runtime_path}/utils/global/freeze:freeze_util",
167    "${ability_runtime_services_path}/common:app_util",
168  ]
169
170  external_deps = [
171    "ability_base:base",
172    "ability_base:extractresourcemanager",
173    "ability_base:string_utils",
174    "ability_base:want",
175    "bundle_framework:appexecfwk_base",
176    "bundle_framework:appexecfwk_core",
177    "c_utils:utils",
178    "common_event_service:cesfwk_innerkits",
179    "ets_runtime:libark_jsruntime",
180    "eventhandler:libeventhandler",
181    "faultloggerd:libbacktrace_local",
182    "faultloggerd:libdfx_procinfo",
183    "faultloggerd:libfaultloggerd",
184    "ffrt:libffrt",
185    "hicollie:libhicollie",
186    "hilog:libhilog",
187    "hisysevent:libhisysevent",
188    "hitrace:hitrace_meter",
189    "i18n:preferred_language",
190    "init:libbegetutil",
191    "ipc:ipc_capi",
192    "ipc:ipc_core",
193    "json:nlohmann_json_static",
194    "napi:ace_napi",
195    "resource_management:global_resmgr",
196    "safwk:system_ability_fwk",
197    "samgr:samgr_proxy",
198  ]
199  public_external_deps = [ "ability_base:configuration" ]
200
201  defines = []
202  if (ability_runtime_graphics) {
203    deps += [ "//third_party/icu/icu4c:shared_icuuc" ]
204    external_deps += [
205      "ace_engine:ace_forward_compatibility",
206      "graphic_2d:librender_service_client",
207      "i18n:intl_util",
208      "window_manager:libdm",
209      "window_manager:libwm",
210    ]
211
212    defines += [ "NWEB_GRAPHIC" ]
213  }
214
215  if (is_asan || asan_detector) {
216    defines += [ "SUPPORT_ASAN" ]
217  }
218
219  if (defined(global_parts_info.web_webview)) {
220    external_deps += [
221      "webview:libnweb",
222      "webview:nweb_ohos_adapter",
223    ]
224
225    defines += [ "NWEB" ]
226  }
227
228  if (memory_utils_purgeable_ashmem_enable && defined(global_parts_info) &&
229      defined(global_parts_info.resourceschedule_memmgr_override)) {
230    defines += [ "IMAGE_PURGEABLE_PIXELMAP" ]
231    external_deps += [ "memmgr:libpurgeablemem_plugin" ]
232  }
233
234  if (cj_frontend) {
235    sources += [
236      "${ability_runtime_native_path}/appkit/ability_runtime/app/cj_ability_stage.cpp",
237      "${ability_runtime_native_path}/appkit/ability_runtime/app/cj_ability_stage_context.cpp",
238      "${ability_runtime_native_path}/appkit/ability_runtime/app/cj_ability_stage_object.cpp",
239    ]
240
241    include_dirs += [
242      "${ability_runtime_path}/cj_environment/interfaces/inner_api",
243      "${ability_runtime_path}/frameworks/cj/ffi",
244    ]
245
246    defines += [ "CJ_FRONTEND" ]
247
248    external_deps += [
249      "bundle_framework:appexecfwk_base",
250      "napi:cj_bind_ffi",
251      "napi:cj_bind_native",
252    ]
253  }
254
255  if (ability_runtime_app_no_response_dialog) {
256    defines += [ "APP_NO_RESPONSE_DIALOG" ]
257  }
258
259  cflags_cc = []
260  if (os_dlp_part_enabled) {
261    cflags_cc += [ "-DWITH_DLP" ]
262  }
263
264  innerapi_tags = [ "platformsdk" ]
265  version_script = "libappkit_native.map"
266  subsystem_name = "ability"
267  part_name = "ability_runtime"
268}
269
270# build so
271ohos_shared_library("app_context") {
272  branch_protector_ret = "pac_ret"
273
274  include_dirs = [
275    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
276    "${ability_runtime_path}/interfaces/kits/native/appkit/app",
277    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper",
278  ]
279
280  configs = [ ":appkit_config" ]
281
282  public_configs = [ ":appkit_public_config" ]
283
284  sources = [
285    "${ability_runtime_native_path}/appkit/ability_runtime/context/ability_lifecycle_callback.cpp",
286    "${ability_runtime_native_path}/appkit/ability_runtime/context/ability_stage_context.cpp",
287    "${ability_runtime_native_path}/appkit/ability_runtime/context/application_context.cpp",
288    "${ability_runtime_native_path}/appkit/ability_runtime/context/application_state_change_callback.cpp",
289    "${ability_runtime_native_path}/appkit/ability_runtime/context/context_impl.cpp",
290    "${ability_runtime_native_path}/appkit/ability_runtime/context/environment_callback.cpp",
291    "${ability_runtime_native_path}/appkit/app/overlay_event_subscriber.cpp",
292    "${ability_runtime_native_path}/appkit/app/sys_mgr_client.cpp",
293  ]
294  cflags = []
295  if (target_cpu == "arm") {
296    cflags += [ "-DBINDER_IPC_32BIT" ]
297  }
298  deps = [
299    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
300    "${ability_runtime_innerkits_path}/ability_manager:ability_start_options",
301    "${ability_runtime_innerkits_path}/app_manager:app_manager",
302    "${ability_runtime_innerkits_path}/deps_wrapper:ability_deps_wrapper",
303    "${ability_runtime_innerkits_path}/runtime:runtime",
304    "${ability_runtime_native_path}/appkit:appkit_manager_helper",
305  ]
306
307  external_deps = [
308    "ability_base:extractortool",
309    "ability_base:session_info",
310    "c_utils:utils",
311    "common_event_service:cesfwk_innerkits",
312    "hilog:libhilog",
313    "hitrace:hitrace_meter",
314    "init:libbegetutil",
315    "ipc:ipc_core",
316    "json:nlohmann_json_static",
317    "napi:ace_napi",
318    "resource_management:global_resmgr",
319    "samgr:samgr_proxy",
320  ]
321  public_external_deps = [
322    "ability_base:configuration",
323    "ability_base:session_info",
324    "ability_base:want",
325    "bundle_framework:appexecfwk_base",
326    "bundle_framework:appexecfwk_core",
327  ]
328
329  if (ability_runtime_graphics) {
330    deps += [ "//third_party/icu/icu4c:shared_icuuc" ]
331    external_deps += [ "i18n:intl_util" ]
332  }
333
334  innerapi_tags = [ "platformsdk" ]
335  subsystem_name = "ability"
336  part_name = "ability_runtime"
337}
338
339# build so
340ohos_shared_library("app_context_utils") {
341  branch_protector_ret = "pac_ret"
342
343  include_dirs = [
344    "${ability_runtime_napi_path}/ability_auto_startup_callback",
345    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
346    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app",
347  ]
348
349  configs = [ ":appkit_config" ]
350
351  public_configs = [ ":appkit_public_config" ]
352
353  sources = [
354    "ability_runtime/context/js_application_context_utils.cpp",
355    "ability_runtime/context/js_context_utils.cpp",
356    "ability_runtime/context/js_resource_manager_utils.cpp",
357  ]
358  cflags = []
359  if (target_cpu == "arm") {
360    cflags += [ "-DBINDER_IPC_32BIT" ]
361  }
362  deps = [
363    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
364    "${ability_runtime_innerkits_path}/ability_manager:ability_start_options",
365    "${ability_runtime_innerkits_path}/app_manager:app_manager",
366    "${ability_runtime_innerkits_path}/error_utils:ability_runtime_error_util",
367    "${ability_runtime_innerkits_path}/runtime:runtime",
368    "${ability_runtime_napi_path}/inner/napi_common:napi_common",
369    "${ability_runtime_native_path}/ability/native:ability_business_error",
370    "${ability_runtime_native_path}/ability/native:auto_startup_callback",
371    "${ability_runtime_native_path}/appkit:app_context",
372    "${ability_runtime_native_path}/appkit:application_context_manager",
373  ]
374
375  external_deps = [
376    "ability_base:want",
377    "access_token:libtokenid_sdk",
378    "bundle_framework:appexecfwk_base",
379    "bundle_framework:appexecfwk_core",
380    "c_utils:utils",
381    "hilog:libhilog",
382    "hitrace:hitrace_meter",
383    "ipc:ipc_core",
384    "json:nlohmann_json_static",
385    "napi:ace_napi",
386    "resource_management:global_resmgr",
387    "resource_management:resmgr_napi_core",
388  ]
389  public_external_deps = [ "ability_base:configuration" ]
390  if (ability_runtime_graphics) {
391    deps += [ "//third_party/icu/icu4c:shared_icuuc" ]
392    external_deps += [ "i18n:intl_util" ]
393  }
394
395  innerapi_tags = [ "platformsdk" ]
396  subsystem_name = "ability"
397  part_name = "ability_runtime"
398}
399
400# build so
401ohos_shared_library("appkit_delegator") {
402  branch_protector_ret = "pac_ret"
403
404  include_dirs = [
405    "native",
406    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app",
407    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
408    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/ability_delegator/include",
409    "${ability_runtime_services_path}/common/include",
410    "${ability_runtime_path}/interfaces/kits/native/ability/native",
411  ]
412
413  configs = [ ":appkit_config" ]
414
415  public_configs = [ ":appkit_public_config" ]
416
417  sources = [
418    "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator.cpp",
419    "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator_args.cpp",
420    "${ability_runtime_native_path}/appkit/ability_delegator/ability_delegator_registry.cpp",
421    "${ability_runtime_native_path}/appkit/ability_delegator/delegator_thread.cpp",
422    "${ability_runtime_native_path}/appkit/ability_delegator/iability_monitor.cpp",
423    "${ability_runtime_native_path}/appkit/ability_delegator/iability_stage_monitor.cpp",
424    "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/js_test_runner.cpp",
425    "${ability_runtime_native_path}/appkit/ability_delegator/shell_cmd_result.cpp",
426    "${ability_runtime_native_path}/appkit/ability_delegator/test_runner.cpp",
427    "${ability_runtime_path}/tools/aa/src/shell_command_result.cpp",
428    "${ability_runtime_path}/tools/aa/src/test_observer_proxy.cpp",
429  ]
430
431  cflags = []
432  if (target_cpu == "arm") {
433    cflags += [ "-DBINDER_IPC_32BIT" ]
434  }
435
436  deps = [
437    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
438    "${ability_runtime_innerkits_path}/ability_manager:ability_start_options",
439    "${ability_runtime_innerkits_path}/runtime:runtime",
440    "${ability_runtime_native_path}/appkit:app_context",
441    "${ability_runtime_native_path}/appkit:delegator_mgmt",
442  ]
443
444  external_deps = [
445    "ability_base:want",
446    "bundle_framework:appexecfwk_base",
447    "c_utils:utils",
448    "common_event_service:cesfwk_innerkits",
449    "eventhandler:libeventhandler",
450    "hilog:libhilog",
451    "ipc:ipc_core",
452    "json:nlohmann_json_static",
453    "napi:ace_napi",
454  ]
455
456  public_external_deps = [ "ability_base:configuration" ]
457
458  if (cj_frontend) {
459    sources += [
460      "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/cj_test_runner.cpp",
461      "${ability_runtime_native_path}/appkit/ability_delegator/runner_runtime/cj_test_runner_object.cpp",
462    ]
463
464    include_dirs +=
465        [ "${ability_runtime_path}/cj_environment/interfaces/inner_api" ]
466
467    defines = [ "CJ_FRONTEND" ]
468  }
469  if (ability_runtime_graphics) {
470    deps += [ "//third_party/icu/icu4c:shared_icuuc" ]
471  }
472
473  innerapi_tags = [ "platformsdk" ]
474  subsystem_name = "ability"
475  part_name = "ability_runtime"
476}
477
478config("application_context_manager_config") {
479  include_dirs = [
480    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
481    "${ability_runtime_services_path}/common/include",
482  ]
483}
484
485ohos_shared_library("appkit_manager_helper") {
486  branch_protector_ret = "pac_ret"
487
488  include_dirs = [
489    "native",
490    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app",
491    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
492    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper",
493    "${ability_runtime_services_path}/common/include",
494    "${ability_runtime_path}/interfaces/kits/native/ability/native",
495    "${ability_runtime_utils_path}/global/constant",
496  ]
497
498  configs = [ ":appkit_config" ]
499
500  sources = [ "${ability_runtime_native_path}/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp" ]
501
502  cflags = []
503  if (target_cpu == "arm") {
504    cflags += [ "-DBINDER_IPC_32BIT" ]
505  }
506
507  deps = []
508
509  external_deps = [
510    "ability_base:want",
511    "bundle_framework:appexecfwk_base",
512    "bundle_framework:appexecfwk_core",
513    "bundle_framework:libappexecfwk_common",
514    "c_utils:utils",
515    "hilog:libhilog",
516    "hitrace:hitrace_meter",
517    "ipc:ipc_core",
518    "json:nlohmann_json_static",
519    "samgr:samgr_proxy",
520  ]
521
522  if (ability_runtime_graphics) {
523    deps += [ "//third_party/icu/icu4c:shared_icuuc" ]
524  }
525
526  innerapi_tags = [ "platformsdk" ]
527  subsystem_name = "ability"
528  part_name = "ability_runtime"
529}
530
531ohos_shared_library("application_context_manager") {
532  branch_protector_ret = "pac_ret"
533
534  sources = [ "${ability_runtime_native_path}/appkit/ability_runtime/context/application_context_manager.cpp" ]
535
536  cflags = []
537  if (target_cpu == "arm") {
538    cflags += [ "-DBINDER_IPC_32BIT" ]
539  }
540
541  external_deps = [
542    "hilog:libhilog",
543    "napi:ace_napi",
544  ]
545
546  public_configs = [ ":application_context_manager_config" ]
547
548  subsystem_name = "ability"
549  part_name = "ability_runtime"
550}
551