• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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