• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2023-2025 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/ohos.gni")
15import("//foundation/ability/ability_runtime/ability_runtime.gni")
16
17config("ability_manager_public_config") {
18  visibility = [ ":*" ]
19  visibility += [
20    "${ability_runtime_test_path}/fuzztest/*",
21    "${ability_runtime_test_path}/moduletest/*",
22    "${ability_runtime_test_path}/unittest/*",
23    "${form_fwk_path}/test/fuzztest/*",
24    "${os_account_path}/tools/test/moduletest/acm/*",
25  ]
26  include_dirs = [
27    "include/",
28    "include/aa_tools",
29    "include/insight_intent",
30    "include/status_bar_delegate",
31    "include/ui_extension",
32    "${ability_runtime_path}/interfaces/kits/native/ability/native",
33    "${ability_runtime_path}/interfaces/kits/native/ability/ability_runtime",
34    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
35    "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/kits",
36    "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/distributed",
37    "${ability_runtime_innerkits_path}/ability_manager/include",
38    "${ability_runtime_innerkits_path}/app_manager/include/appmgr",
39    "${ability_runtime_path}/interfaces/kits/native/appkit/app",
40    "${ability_runtime_path}/interfaces/kits/native/appkit/dfr",
41    "${ability_runtime_path}/interfaces/kits/native/appkit",
42    "${ability_runtime_innerkits_path}/dataobs_manager/include",
43  ]
44
45  defines = []
46
47  if (ability_command_for_test) {
48    defines += [ "ABILITY_COMMAND_FOR_TEST" ]
49  }
50
51  if (ability_runtime_graphics) {
52    defines += [
53      "SUPPORT_GRAPHICS",
54      "SUPPORT_SCREEN",
55    ]
56  }
57
58  cflags = []
59  if (target_cpu == "arm") {
60    cflags += [ "-DBINDER_IPC_32BIT" ]
61  }
62}
63
64ohos_shared_library("ability_manager") {
65  use_exceptions = true
66  branch_protector_ret = "pac_ret"
67
68  sources = [
69    "${ability_runtime_native_path}/ability/native/data_ability_operation.cpp",
70    "${ability_runtime_native_path}/ability/native/data_ability_operation_builder.cpp",
71    "${ability_runtime_native_path}/ability/native/data_ability_result.cpp",
72    "${ability_runtime_native_path}/ability/native/task_handler.cpp",
73    "${ability_runtime_native_path}/ability/native/task_handler_client.cpp",
74    "${ability_runtime_services_path}/abilitymgr/src/ability_auto_startup_client.cpp",
75    "${ability_runtime_services_path}/abilitymgr/src/ability_manager_client.cpp",
76    "${ability_runtime_services_path}/abilitymgr/src/ability_manager_proxy.cpp",
77    "${ability_runtime_services_path}/abilitymgr/src/ability_running_info.cpp",
78    "${ability_runtime_services_path}/abilitymgr/src/ability_scheduler_stub.cpp",
79    "${ability_runtime_services_path}/abilitymgr/src/acquire_share_data_callback_proxy.cpp",
80    "${ability_runtime_services_path}/abilitymgr/src/acquire_share_data_callback_stub.cpp",
81    "${ability_runtime_services_path}/abilitymgr/src/auto_startup_info.cpp",
82    "${ability_runtime_services_path}/abilitymgr/src/caller_info.cpp",
83    "${ability_runtime_services_path}/abilitymgr/src/dialog_session/dialog_session_info.cpp",
84    "${ability_runtime_services_path}/abilitymgr/src/exit_reason.cpp",
85    "${ability_runtime_services_path}/abilitymgr/src/extension_running_info.cpp",
86    "${ability_runtime_services_path}/abilitymgr/src/insight_intent/insight_intent_execute_callback_proxy.cpp",
87    "${ability_runtime_services_path}/abilitymgr/src/insight_intent/insight_intent_execute_callback_stub.cpp",
88    "${ability_runtime_services_path}/abilitymgr/src/insight_intent/insight_intent_execute_param.cpp",
89    "${ability_runtime_services_path}/abilitymgr/src/insight_intent/insight_intent_execute_result.cpp",
90    "${ability_runtime_services_path}/abilitymgr/src/insight_intent/insight_intent_info_for_query.cpp",
91    "${ability_runtime_services_path}/abilitymgr/src/intent_exemption_info.cpp",
92    "${ability_runtime_services_path}/abilitymgr/src/keep_alive/keep_alive_info.cpp",
93    "${ability_runtime_services_path}/abilitymgr/src/last_exit_detail_info.cpp",
94    "${ability_runtime_services_path}/abilitymgr/src/launch_param.cpp",
95    "${ability_runtime_services_path}/abilitymgr/src/lifecycle_state_info.cpp",
96    "${ability_runtime_services_path}/abilitymgr/src/mission/mission_listener_stub.cpp",
97    "${ability_runtime_services_path}/abilitymgr/src/open_link/open_link_options.cpp",
98    "${ability_runtime_services_path}/abilitymgr/src/prepare_terminate_callback_proxy.cpp",
99    "${ability_runtime_services_path}/abilitymgr/src/prepare_terminate_callback_stub.cpp",
100    "${ability_runtime_services_path}/abilitymgr/src/remote_mission_listener_stub.cpp",
101    "${ability_runtime_services_path}/abilitymgr/src/remote_on_listener_proxy.cpp",
102    "${ability_runtime_services_path}/abilitymgr/src/remote_on_listener_stub.cpp",
103    "${ability_runtime_services_path}/abilitymgr/src/rule.cpp",
104    "${ability_runtime_services_path}/abilitymgr/src/sa_interceptor_proxy.cpp",
105    "${ability_runtime_services_path}/abilitymgr/src/sa_interceptor_stub.cpp",
106    "${ability_runtime_services_path}/abilitymgr/src/system_ability_token_callback_stub.cpp",
107    "${ability_runtime_services_path}/abilitymgr/src/ui_extension/ui_extension_ability_connect_info.cpp",
108    "${ability_runtime_services_path}/abilitymgr/src/ui_extension/ui_extension_host_info.cpp",
109    "${ability_runtime_services_path}/abilitymgr/src/ui_extension/ui_extension_session_info.cpp",
110    "${ability_runtime_services_path}/abilitymgr/src/user_callback_proxy.cpp",
111    "${ability_runtime_services_path}/abilitymgr/src/user_callback_stub.cpp",
112    "${ability_runtime_services_path}/abilitymgr/src/window_config.cpp",
113    "${ability_runtime_services_path}/abilitymgr/src/kiosk_status.cpp",
114    "src/aa_tools/ability_start_with_wait_data.cpp",
115    "src/aa_tools/ability_start_with_wait_observer_proxy.cpp",
116    "src/aa_tools/ability_start_with_wait_observer_stub.cpp",
117    "src/hidden_start_observer_proxy.cpp",
118    "src/hidden_start_observer_stub.cpp",
119    "src/status_bar_delegate/status_bar_delegate_proxy.cpp",
120    "src/status_bar_delegate/status_bar_delegate_stub.cpp",
121    "src/window_manager_service_handler_proxy.cpp",
122    "src/window_manager_service_handler_stub.cpp",
123  ]
124
125  if (ability_runtime_graphics) {
126    sources += [
127      "src/ability_first_frame_state_data.cpp",
128      "src/ability_first_frame_state_observer_proxy.cpp",
129      "src/ability_first_frame_state_observer_stub.cpp",
130    ]
131  }
132
133  public_configs = [
134    ":ability_manager_public_config",
135    "${ability_runtime_services_path}/abilitymgr:abilityms_config",
136  ]
137
138  public_deps = [ ":ability_connect_callback_stub" ]
139
140  deps = [
141    ":ability_connect_callback_stub",
142    ":ability_start_options",
143    ":ability_start_setting",
144    ":mission_info",
145    ":process_options",
146    ":start_window_option",
147    "${ability_runtime_innerkits_path}/app_manager:app_manager",
148    "${ability_runtime_path}/utils/global/freeze:freeze_util",
149    "${ability_runtime_services_path}/abilitymgr:wantagent_manager",
150    "${ability_runtime_services_path}/common:app_util",
151    "${ability_runtime_services_path}/common:hitrace_chain_util",
152  ]
153
154  external_deps = [
155    "bundle_framework:libappexecfwk_common",
156    "c_utils:utils",
157    "common_event_service:cesfwk_innerkits",
158    "eventhandler:libeventhandler",
159    "hilog:libhilog",
160    "hisysevent:libhisysevent",
161    "hitrace:hitrace_meter",
162    "hitrace:libhitracechain",
163    "ipc:ipc_core",
164    "ipc:ipc_napi",
165    "relational_store:native_dataability",
166    "samgr:samgr_proxy",
167  ]
168
169  if (host_cpu != "arm64") {
170    external_deps += [ "relational_store:native_rdb" ]
171  }
172
173  public_external_deps = [
174    "ability_base:base",
175    "ability_base:configuration",
176    "ability_base:session_info",
177    "ability_base:want",
178    "ability_base:zuri",
179    "background_task_mgr:bgtaskmgr_innerkits",
180    "bundle_framework:appexecfwk_base",
181    "bundle_framework:appexecfwk_core",
182    "init:libbegetutil",
183    "relational_store:native_dataability",
184    "relational_store:native_rdb",
185  ]
186
187  if (ability_runtime_graphics) {
188    deps += []
189    external_deps += [
190      "ability_base:session_info",
191      "image_framework:image_native",
192      "window_manager:libwsutils",
193      "window_manager:session_manager_lite",
194    ]
195    public_external_deps += [ "graphic_2d:color_manager" ]
196  }
197
198  cflags_cc = []
199  if (os_dlp_part_enabled) {
200    cflags_cc += [ "-DWITH_DLP" ]
201    external_deps += [ "dlp_permission_service:libdlpparse" ]
202  }
203
204  innerapi_tags = [
205    "platformsdk",
206    "sasdk",
207  ]
208  subsystem_name = "ability"
209  part_name = "ability_runtime"
210}
211
212ohos_shared_library("ability_start_options") {
213  sanitize = {
214    integer_overflow = true
215    ubsan = true
216    boundary_sanitize = true
217    cfi = true
218    cfi_cross_dso = true
219    cfi_vcall_icall_only = true
220    debug = false
221  }
222  branch_protector_ret = "pac_ret"
223
224  include_dirs = [
225    "include/",
226    "${ability_runtime_services_path}/common/include",
227  ]
228
229  sources =
230      [ "${ability_runtime_services_path}/abilitymgr/src/start_options.cpp" ]
231
232  deps = [
233    ":process_options",
234    ":start_window_option",
235  ]
236
237  external_deps = [
238    "bundle_framework:appexecfwk_base",
239    "c_utils:utils",
240    "hilog:libhilog",
241    "hisysevent:libhisysevent",
242    "ipc:ipc_core",
243    "window_manager:window_animation_utils",
244  ]
245
246  cflags_cc = []
247  innerapi_tags = [
248    "platformsdk",
249    "sasdk",
250  ]
251  subsystem_name = "ability"
252  part_name = "ability_runtime"
253}
254
255ohos_shared_library("mission_info") {
256  branch_protector_ret = "pac_ret"
257
258  sources = [
259    "${ability_runtime_services_path}/abilitymgr/src/mission/mission_info.cpp",
260    "${ability_runtime_services_path}/abilitymgr/src/mission/mission_snapshot.cpp",
261  ]
262
263  public_configs = [ ":ability_manager_public_config" ]
264
265  external_deps = [
266    "c_utils:utils",
267    "ipc:ipc_core",
268  ]
269  public_external_deps = [
270    "ability_base:configuration",
271    "ability_base:want",
272    "ability_base:zuri",
273    "bundle_framework:appexecfwk_base",
274    "bundle_framework:appexecfwk_core",
275  ]
276  if (ability_runtime_graphics) {
277    external_deps += [ "image_framework:image_native" ]
278    public_external_deps += [ "graphic_2d:color_manager" ]
279  }
280
281  cflags_cc = []
282  innerapi_tags = [ "platformsdk" ]
283  subsystem_name = "ability"
284  part_name = "ability_runtime"
285}
286
287ohos_shared_library("ability_manager_c") {
288  include_dirs = [ "include" ]
289  sources = [ "src/ability_manager_client_c.cpp" ]
290  libs = []
291  ldflags = [ "-Wl,--exclude-libs=ALL" ]
292  deps = [ ":ability_manager" ]
293  external_deps = [
294    "ability_base:session_info",
295    "c_utils:utils",
296    "image_framework:image_native",
297    "ipc:ipc_core",
298    "ipc:ipc_napi",
299    "ipc:ipc_single",
300  ]
301  innerapi_tags = [ "platformsdk" ]
302  subsystem_name = "ability"
303  part_name = "ability_runtime"
304}
305
306ohos_shared_library("ability_start_setting") {
307  branch_protector_ret = "pac_ret"
308
309  sources = [
310    "${ability_runtime_services_path}/abilitymgr/src/ability_start_setting.cpp",
311  ]
312
313  public_configs = [ ":ability_manager_public_config" ]
314
315  external_deps = [ "c_utils:utils" ]
316  public_external_deps = [
317    "ability_base:configuration",
318    "ability_base:want",
319    "ability_base:zuri",
320    "bundle_framework:appexecfwk_base",
321    "bundle_framework:appexecfwk_core",
322    "napi:ace_napi",
323  ]
324  if (ability_runtime_graphics) {
325    public_external_deps += [ "graphic_2d:color_manager" ]
326  }
327  cflags_cc = []
328  innerapi_tags = [ "platformsdk" ]
329  subsystem_name = "ability"
330  part_name = "ability_runtime"
331}
332
333ohos_shared_library("process_options") {
334  sanitize = {
335    integer_overflow = true
336    ubsan = true
337    boundary_sanitize = true
338    cfi = true
339    cfi_cross_dso = true
340    cfi_vcall_icall_only = true
341    debug = false
342  }
343  branch_protector_ret = "pac_ret"
344
345  include_dirs = [
346    "include/",
347    "${ability_runtime_services_path}/common/include",
348  ]
349
350  sources =
351      [ "${ability_runtime_services_path}/abilitymgr/src/process_options.cpp" ]
352
353  external_deps = [
354    "c_utils:utils",
355    "hilog:libhilog",
356  ]
357
358  cflags_cc = []
359  innerapi_tags = [ "platformsdk" ]
360  subsystem_name = "ability"
361  part_name = "ability_runtime"
362}
363
364ohos_shared_library("start_window_option") {
365  sanitize = {
366    integer_overflow = true
367    ubsan = true
368    boundary_sanitize = true
369    cfi = true
370    cfi_cross_dso = true
371    cfi_vcall_icall_only = true
372    debug = false
373  }
374  branch_protector_ret = "pac_ret"
375
376  include_dirs = [
377    "include/",
378    "${ability_runtime_services_path}/common/include",
379  ]
380
381  sources = [
382    "${ability_runtime_services_path}/abilitymgr/src/start_window_option.cpp",
383  ]
384
385  external_deps = [
386    "c_utils:utils",
387    "hilog:libhilog",
388    "napi:ace_napi",
389    "ipc:ipc_single",
390  ]
391
392  if (ability_runtime_graphics &&
393      ability_runtime_start_window_options_with_pixelmap) {
394    defines = [ "START_WINDOW_OPTIONS_WITH_PIXELMAP" ]
395    external_deps += [ "image_framework:image_native" ]
396  }
397
398  cflags_cc = []
399  innerapi_tags = [ "platformsdk" ]
400  subsystem_name = "ability"
401  part_name = "ability_runtime"
402}
403
404ohos_shared_library("ability_connect_callback_stub") {
405  branch_protector_ret = "pac_ret"
406
407  defines = [ "AMS_LOG_TAG = \"Ability\"" ]
408  defines += [ "AMS_LOG_DOMAIN = 0xD001300" ]
409  include_dirs = [
410    "include/",
411    "${ability_runtime_services_path}/abilitymgr/include/utils",
412    "${ability_runtime_services_path}/abilitymgr/include",
413    "${ability_runtime_services_path}/common/include",
414  ]
415
416  sources = [ "${ability_runtime_services_path}/abilitymgr/src/ability_connect_callback_stub.cpp" ]
417
418  public_configs = [ ":ability_manager_public_config" ]
419
420  external_deps = [
421    "c_utils:utils",
422    "hilog:libhilog",
423    "ipc:ipc_core",
424  ]
425  public_external_deps = [
426    "ability_base:configuration",
427    "ability_base:want",
428    "ability_base:zuri",
429    "bundle_framework:appexecfwk_base",
430    "bundle_framework:appexecfwk_core",
431  ]
432  if (ability_runtime_graphics) {
433    external_deps += [ "graphic_2d:color_manager" ]
434  }
435
436  cflags_cc = []
437  innerapi_tags = [
438    "platformsdk",
439    "sasdk",
440  ]
441  subsystem_name = "ability"
442  part_name = "ability_runtime"
443}
444