• 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  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