• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 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/test.gni")
15import("../../../../appexecfwk.gni")
16import("../../../../services/bundlemgr/appexecfwk_bundlemgr.gni")
17
18module_output_path = fuzz_test_path
19
20ohos_fuzztest("BMSFreeInstallFuzzTest001") {
21  fuzz_config_file = "../../../fuzztest/fuzztest_bundlemanager/bmsfreeinstall_fuzzer"
22
23  use_exceptions = true
24  module_out_path = module_output_path
25  include_dirs = [ "${test_path}/fuzztest" ]
26  sources = bundle_mgr_source
27  sources += [
28    "${services_path}/bundlemgr/src/aot/aot_executor.cpp",
29    "${services_path}/bundlemgr/src/installd/installd_host_impl.cpp",
30    "${services_path}/bundlemgr/src/installd/installd_operator.cpp",
31    "${services_path}/bundlemgr/src/installd/installd_service.cpp",
32  ]
33
34  sources +=
35      [ "${services_path}/bundlemgr/src/installd/installd_permission_mgr.cpp" ]
36
37  sources += bundle_install_sources
38
39  sources += [ "bmsfreeinstall_fuzzer001.cpp" ]
40
41  configs = [ "${services_path}/bundlemgr/test:bundlemgr_test_config" ]
42  cflags = [
43    "-g",
44    "-O0",
45    "-Wno-unused-variable",
46    "-fno-omit-frame-pointer",
47  ]
48
49  deps = [
50    "${core_path}:appexecfwk_core",
51  ]
52  deps += bundle_install_deps
53
54  external_deps = [
55    "ability_base:want",
56    "ability_runtime:app_manager",
57    "access_token:el5_filekey_manager_sdk",
58    "access_token:libprivacy_sdk",
59    "access_token:libtokenid_sdk",
60    "appspawn:hnpapi",
61    "appverify:libhapverify",
62    "bounds_checking_function:libsec_shared",
63    "common_event_service:cesfwk_innerkits",
64    "eventhandler:libeventhandler",
65    "hilog:libhilog",
66    "hitrace:hitrace_meter",
67    "init:libbegetutil",
68    "jsoncpp:jsoncpp",
69    "safwk:system_ability_fwk",
70    "samgr:samgr_proxy",
71    "selinux_adapter:librestorecon",
72  ]
73  external_deps += bundle_install_external_deps
74
75  defines = []
76  if (code_signature_enable) {
77    sources += [
78      "${services_path}/bundlemgr/src/aot/aot_sign_data_cache_mgr.cpp",
79      "${services_path}/bundlemgr/src/code_sign_helper.cpp",
80    ]
81    include_dirs += [ "${services_path}/bundlemgr/include" ]
82    external_deps += [
83      "bounds_checking_function:libsec_shared",
84      "code_signature:libcode_sign_utils",
85      "ets_runtime:libcompiler_service",
86    ]
87    defines += [ "CODE_SIGNATURE_ENABLE" ]
88  }
89
90  if (configpolicy_enable) {
91    external_deps += [ "config_policy:configpolicy_util" ]
92    defines += [ "CONFIG_POLOCY_ENABLE" ]
93  }
94
95  if (bundle_framework_app_control) {
96    defines += [ "BUNDLE_FRAMEWORK_APP_CONTROL" ]
97    sources += [
98      "${services_path}/bundlemgr/src/app_control/app_control_manager.cpp",
99      "${services_path}/bundlemgr/src/app_control/app_control_manager_host_impl.cpp",
100      "${services_path}/bundlemgr/src/app_control/app_control_manager_rdb.cpp",
101      "${services_path}/bundlemgr/src/app_control/app_jump_interceptor_event_subscriber.cpp",
102      "${services_path}/bundlemgr/src/app_control/app_jump_interceptor_manager_rdb.cpp",
103    ]
104    include_dirs += [ "${services_path}/bundlemgr/include/app_control" ]
105    external_deps += [ "c_utils:utils" ]
106  }
107  if (current_cpu == "arm64") {
108    defines += [ "USE_BUNDLE_EXTENSION" ]
109  }
110
111  if (build_selinux) {
112    external_deps += [ "selinux_adapter:libhap_restorecon" ]
113  }
114  if (account_enable) {
115    external_deps += [ "os_account:os_account_innerkits" ]
116    defines += [ "ACCOUNT_ENABLE" ]
117  }
118  if (bundle_framework_free_install) {
119    sources += aging
120    sources += free_install
121    sources += distributed_manager
122    external_deps += [
123      "ability_runtime:ability_manager",
124      "ability_runtime:app_manager",
125      "battery_manager:batterysrv_client",
126      "device_usage_statistics:usagestatsinner",
127      "display_manager:displaymgr",
128      "power_manager:powermgr_client",
129      "syscap_codec:syscap_interface_shared",
130    ]
131    defines += [ "BUNDLE_FRAMEWORK_FREE_INSTALL" ]
132  }
133  if (global_resmgr_enable) {
134    defines += [ "GLOBAL_RESMGR_ENABLE" ]
135    external_deps += [ "resource_management:global_resmgr" ]
136  }
137  if (hicollie_enable) {
138    external_deps += [ "hicollie:libhicollie" ]
139    defines += [ "HICOLLIE_ENABLE" ]
140  }
141
142  if (hisysevent_enable) {
143    sources += [ "${services_path}/bundlemgr/src/inner_event_report.cpp" ]
144    external_deps += [ "hisysevent:libhisysevent" ]
145    defines += [ "HISYSEVENT_ENABLE" ]
146  }
147
148  if (bundle_framework_quick_fix) {
149    include_dirs += [ "${services_path}/bundlemgr/src/include/quick_fix" ]
150    sources += quick_fix
151    defines += [ "BUNDLE_FRAMEWORK_QUICK_FIX" ]
152  }
153
154  if (storage_service_enable) {
155    external_deps += [ "storage_service:storage_manager_sa_proxy" ]
156    defines += [ "STORAGE_SERVICE_ENABLE" ]
157  }
158
159  external_deps += [ "kv_store:distributeddata_inner" ]
160  configs += [ "${services_path}/bundlemgr:rdb_config" ]
161  external_deps += [ "relational_store:native_rdb" ]
162  sources += [
163    "${services_path}/bundlemgr/src/bundle_data_storage_rdb.cpp",
164    "${services_path}/bundlemgr/src/preinstall_data_storage_rdb.cpp",
165    "${services_path}/bundlemgr/src/rdb/bms_rdb_open_callback.cpp",
166    "${services_path}/bundlemgr/src/rdb/rdb_data_manager.cpp",
167  ]
168  if (udmf_enabled) {
169    defines += [ "BUNDLE_FRAMEWORK_UDMF_ENABLED" ]
170    external_deps += [ "udmf:udmf_client" ]
171    external_deps += [ "udmf:utd_client" ]
172  }
173
174  if (user_auth_framework_impl_enabled) {
175    external_deps += [ "user_auth_framework:userauth_client" ]
176    defines += [ "BMS_USER_AUTH_FRAMEWORK_ENABLED" ]
177    include_dirs += [ "${services_path}/bundlemgr/include/user_auth" ]
178    sources += user_auth
179  }
180
181  if (bms_device_info_manager_part_enabled) {
182    external_deps += [
183      "device_info_manager:distributed_device_profile_common",
184      "device_info_manager:distributed_device_profile_sdk",
185    ]
186    defines += [ "BMS_DEVICE_INFO_MANAGER_ENABLE" ]
187  }
188}
189
190ohos_fuzztest("BMSFreeInstallFuzzTest002") {
191  fuzz_config_file = "../../../fuzztest/fuzztest_bundlemanager/bmsfreeinstall_fuzzer"
192
193  use_exceptions = true
194  module_out_path = module_output_path
195  include_dirs = [ "${test_path}/fuzztest" ]
196  sources = bundle_mgr_source
197  sources += [
198    "${services_path}/bundlemgr/src/aot/aot_executor.cpp",
199    "${services_path}/bundlemgr/src/installd/installd_host_impl.cpp",
200    "${services_path}/bundlemgr/src/installd/installd_operator.cpp",
201    "${services_path}/bundlemgr/src/installd/installd_service.cpp",
202  ]
203
204  sources +=
205      [ "${services_path}/bundlemgr/src/installd/installd_permission_mgr.cpp" ]
206
207  sources += bundle_install_sources
208
209  sources += [ "bmsfreeinstall_fuzzer002.cpp" ]
210
211  configs = [ "${services_path}/bundlemgr/test:bundlemgr_test_config" ]
212  cflags = [
213    "-g",
214    "-O0",
215    "-Wno-unused-variable",
216    "-fno-omit-frame-pointer",
217  ]
218
219  deps = [
220    "${core_path}:appexecfwk_core",
221  ]
222  deps += bundle_install_deps
223
224  external_deps = [
225    "ability_base:want",
226    "ability_runtime:app_manager",
227    "access_token:el5_filekey_manager_sdk",
228    "access_token:libprivacy_sdk",
229    "access_token:libtokenid_sdk",
230    "appspawn:hnpapi",
231    "appverify:libhapverify",
232    "bounds_checking_function:libsec_shared",
233    "common_event_service:cesfwk_innerkits",
234    "eventhandler:libeventhandler",
235    "hilog:libhilog",
236    "hitrace:hitrace_meter",
237    "init:libbegetutil",
238    "jsoncpp:jsoncpp",
239    "safwk:system_ability_fwk",
240    "samgr:samgr_proxy",
241    "selinux_adapter:librestorecon",
242  ]
243  external_deps += bundle_install_external_deps
244
245  defines = []
246  if (code_signature_enable) {
247    sources += [
248      "${services_path}/bundlemgr/src/aot/aot_sign_data_cache_mgr.cpp",
249      "${services_path}/bundlemgr/src/code_sign_helper.cpp",
250    ]
251    include_dirs += [ "${services_path}/bundlemgr/include" ]
252    external_deps += [
253      "bounds_checking_function:libsec_shared",
254      "code_signature:libcode_sign_utils",
255      "ets_runtime:libcompiler_service",
256    ]
257    defines += [ "CODE_SIGNATURE_ENABLE" ]
258  }
259
260  if (configpolicy_enable) {
261    external_deps += [ "config_policy:configpolicy_util" ]
262    defines += [ "CONFIG_POLOCY_ENABLE" ]
263  }
264
265  if (bundle_framework_app_control) {
266    defines += [ "BUNDLE_FRAMEWORK_APP_CONTROL" ]
267    sources += [
268      "${services_path}/bundlemgr/src/app_control/app_control_manager.cpp",
269      "${services_path}/bundlemgr/src/app_control/app_control_manager_host_impl.cpp",
270      "${services_path}/bundlemgr/src/app_control/app_control_manager_rdb.cpp",
271      "${services_path}/bundlemgr/src/app_control/app_jump_interceptor_event_subscriber.cpp",
272      "${services_path}/bundlemgr/src/app_control/app_jump_interceptor_manager_rdb.cpp",
273    ]
274    include_dirs += [ "${services_path}/bundlemgr/include/app_control" ]
275    external_deps += [ "c_utils:utils" ]
276  }
277  if (current_cpu == "arm64") {
278    defines += [ "USE_BUNDLE_EXTENSION" ]
279  }
280
281  if (build_selinux) {
282    external_deps += [ "selinux_adapter:libhap_restorecon" ]
283  }
284  if (account_enable) {
285    external_deps += [ "os_account:os_account_innerkits" ]
286    defines += [ "ACCOUNT_ENABLE" ]
287  }
288  if (bundle_framework_free_install) {
289    sources += aging
290    sources += free_install
291    sources += distributed_manager
292    external_deps += [
293      "ability_runtime:ability_manager",
294      "ability_runtime:app_manager",
295      "battery_manager:batterysrv_client",
296      "device_usage_statistics:usagestatsinner",
297      "display_manager:displaymgr",
298      "power_manager:powermgr_client",
299      "syscap_codec:syscap_interface_shared",
300    ]
301    defines += [ "BUNDLE_FRAMEWORK_FREE_INSTALL" ]
302  }
303  if (global_resmgr_enable) {
304    defines += [ "GLOBAL_RESMGR_ENABLE" ]
305    external_deps += [ "resource_management:global_resmgr" ]
306  }
307  if (hicollie_enable) {
308    external_deps += [ "hicollie:libhicollie" ]
309    defines += [ "HICOLLIE_ENABLE" ]
310  }
311
312  if (hisysevent_enable) {
313    sources += [ "${services_path}/bundlemgr/src/inner_event_report.cpp" ]
314    external_deps += [ "hisysevent:libhisysevent" ]
315    defines += [ "HISYSEVENT_ENABLE" ]
316  }
317
318  if (bundle_framework_quick_fix) {
319    include_dirs += [ "${services_path}/bundlemgr/src/include/quick_fix" ]
320    sources += quick_fix
321    defines += [ "BUNDLE_FRAMEWORK_QUICK_FIX" ]
322  }
323
324  if (storage_service_enable) {
325    external_deps += [ "storage_service:storage_manager_sa_proxy" ]
326    defines += [ "STORAGE_SERVICE_ENABLE" ]
327  }
328
329  external_deps += [ "kv_store:distributeddata_inner" ]
330  configs += [ "${services_path}/bundlemgr:rdb_config" ]
331  external_deps += [ "relational_store:native_rdb" ]
332  sources += [
333    "${services_path}/bundlemgr/src/bundle_data_storage_rdb.cpp",
334    "${services_path}/bundlemgr/src/preinstall_data_storage_rdb.cpp",
335    "${services_path}/bundlemgr/src/rdb/bms_rdb_open_callback.cpp",
336    "${services_path}/bundlemgr/src/rdb/rdb_data_manager.cpp",
337  ]
338  if (udmf_enabled) {
339    defines += [ "BUNDLE_FRAMEWORK_UDMF_ENABLED" ]
340    external_deps += [ "udmf:udmf_client" ]
341    external_deps += [ "udmf:utd_client" ]
342  }
343
344  if (user_auth_framework_impl_enabled) {
345    external_deps += [ "user_auth_framework:userauth_client" ]
346    defines += [ "BMS_USER_AUTH_FRAMEWORK_ENABLED" ]
347    include_dirs += [ "${services_path}/bundlemgr/include/user_auth" ]
348    sources += user_auth
349  }
350
351  if (bms_device_info_manager_part_enabled) {
352    external_deps += [
353      "device_info_manager:distributed_device_profile_common",
354      "device_info_manager:distributed_device_profile_sdk",
355    ]
356    defines += [ "BMS_DEVICE_INFO_MANAGER_ENABLE" ]
357  }
358}
359
360ohos_fuzztest("BMSFreeInstallFuzzTest003") {
361  fuzz_config_file = "../../../fuzztest/fuzztest_bundlemanager/bmsfreeinstall_fuzzer"
362
363  use_exceptions = true
364  module_out_path = module_output_path
365  include_dirs = [ "${test_path}/fuzztest" ]
366  sources = bundle_mgr_source
367  sources += [
368    "${services_path}/bundlemgr/src/aot/aot_executor.cpp",
369    "${services_path}/bundlemgr/src/installd/installd_host_impl.cpp",
370    "${services_path}/bundlemgr/src/installd/installd_operator.cpp",
371    "${services_path}/bundlemgr/src/installd/installd_service.cpp",
372  ]
373
374  sources +=
375      [ "${services_path}/bundlemgr/src/installd/installd_permission_mgr.cpp" ]
376
377  sources += bundle_install_sources
378
379  sources += [ "bmsfreeinstall_fuzzer003.cpp" ]
380
381  configs = [ "${services_path}/bundlemgr/test:bundlemgr_test_config" ]
382  cflags = [
383    "-g",
384    "-O0",
385    "-Wno-unused-variable",
386    "-fno-omit-frame-pointer",
387  ]
388
389  deps = [
390    "${core_path}:appexecfwk_core",
391  ]
392  deps += bundle_install_deps
393
394  external_deps = [
395    "ability_base:want",
396    "ability_runtime:app_manager",
397    "access_token:el5_filekey_manager_sdk",
398    "access_token:libprivacy_sdk",
399    "access_token:libtokenid_sdk",
400    "appspawn:hnpapi",
401    "appverify:libhapverify",
402    "bounds_checking_function:libsec_shared",
403    "common_event_service:cesfwk_innerkits",
404    "eventhandler:libeventhandler",
405    "hilog:libhilog",
406    "hitrace:hitrace_meter",
407    "init:libbegetutil",
408    "jsoncpp:jsoncpp",
409    "safwk:system_ability_fwk",
410    "samgr:samgr_proxy",
411    "selinux_adapter:librestorecon",
412  ]
413  external_deps += bundle_install_external_deps
414
415  defines = []
416  if (code_signature_enable) {
417    sources += [
418      "${services_path}/bundlemgr/src/aot/aot_sign_data_cache_mgr.cpp",
419      "${services_path}/bundlemgr/src/code_sign_helper.cpp",
420    ]
421    include_dirs += [ "${services_path}/bundlemgr/include" ]
422    external_deps += [
423      "bounds_checking_function:libsec_shared",
424      "code_signature:libcode_sign_utils",
425      "ets_runtime:libcompiler_service",
426    ]
427    defines += [ "CODE_SIGNATURE_ENABLE" ]
428  }
429
430  if (configpolicy_enable) {
431    external_deps += [ "config_policy:configpolicy_util" ]
432    defines += [ "CONFIG_POLOCY_ENABLE" ]
433  }
434
435  if (bundle_framework_app_control) {
436    defines += [ "BUNDLE_FRAMEWORK_APP_CONTROL" ]
437    sources += [
438      "${services_path}/bundlemgr/src/app_control/app_control_manager.cpp",
439      "${services_path}/bundlemgr/src/app_control/app_control_manager_host_impl.cpp",
440      "${services_path}/bundlemgr/src/app_control/app_control_manager_rdb.cpp",
441      "${services_path}/bundlemgr/src/app_control/app_jump_interceptor_event_subscriber.cpp",
442      "${services_path}/bundlemgr/src/app_control/app_jump_interceptor_manager_rdb.cpp",
443    ]
444    include_dirs += [ "${services_path}/bundlemgr/include/app_control" ]
445    external_deps += [ "c_utils:utils" ]
446  }
447  if (current_cpu == "arm64") {
448    defines += [ "USE_BUNDLE_EXTENSION" ]
449  }
450
451  if (build_selinux) {
452    external_deps += [ "selinux_adapter:libhap_restorecon" ]
453  }
454  if (account_enable) {
455    external_deps += [ "os_account:os_account_innerkits" ]
456    defines += [ "ACCOUNT_ENABLE" ]
457  }
458  if (bundle_framework_free_install) {
459    sources += aging
460    sources += free_install
461    sources += distributed_manager
462    external_deps += [
463      "ability_runtime:ability_manager",
464      "ability_runtime:app_manager",
465      "battery_manager:batterysrv_client",
466      "device_usage_statistics:usagestatsinner",
467      "display_manager:displaymgr",
468      "power_manager:powermgr_client",
469      "syscap_codec:syscap_interface_shared",
470    ]
471    defines += [ "BUNDLE_FRAMEWORK_FREE_INSTALL" ]
472  }
473  if (global_resmgr_enable) {
474    defines += [ "GLOBAL_RESMGR_ENABLE" ]
475    external_deps += [ "resource_management:global_resmgr" ]
476  }
477  if (hicollie_enable) {
478    external_deps += [ "hicollie:libhicollie" ]
479    defines += [ "HICOLLIE_ENABLE" ]
480  }
481
482  if (hisysevent_enable) {
483    sources += [ "${services_path}/bundlemgr/src/inner_event_report.cpp" ]
484    external_deps += [ "hisysevent:libhisysevent" ]
485    defines += [ "HISYSEVENT_ENABLE" ]
486  }
487
488  if (bundle_framework_quick_fix) {
489    include_dirs += [ "${services_path}/bundlemgr/src/include/quick_fix" ]
490    sources += quick_fix
491    defines += [ "BUNDLE_FRAMEWORK_QUICK_FIX" ]
492  }
493
494  if (storage_service_enable) {
495    external_deps += [ "storage_service:storage_manager_sa_proxy" ]
496    defines += [ "STORAGE_SERVICE_ENABLE" ]
497  }
498
499  external_deps += [ "kv_store:distributeddata_inner" ]
500  configs += [ "${services_path}/bundlemgr:rdb_config" ]
501  external_deps += [ "relational_store:native_rdb" ]
502  sources += [
503    "${services_path}/bundlemgr/src/bundle_data_storage_rdb.cpp",
504    "${services_path}/bundlemgr/src/preinstall_data_storage_rdb.cpp",
505    "${services_path}/bundlemgr/src/rdb/bms_rdb_open_callback.cpp",
506    "${services_path}/bundlemgr/src/rdb/rdb_data_manager.cpp",
507  ]
508  if (udmf_enabled) {
509    defines += [ "BUNDLE_FRAMEWORK_UDMF_ENABLED" ]
510    external_deps += [ "udmf:udmf_client" ]
511    external_deps += [ "udmf:utd_client" ]
512  }
513
514  if (user_auth_framework_impl_enabled) {
515    external_deps += [ "user_auth_framework:userauth_client" ]
516    defines += [ "BMS_USER_AUTH_FRAMEWORK_ENABLED" ]
517    include_dirs += [ "${services_path}/bundlemgr/include/user_auth" ]
518    sources += user_auth
519  }
520
521  if (bms_device_info_manager_part_enabled) {
522    external_deps += [
523      "device_info_manager:distributed_device_profile_common",
524      "device_info_manager:distributed_device_profile_sdk",
525    ]
526    defines += [ "BMS_DEVICE_INFO_MANAGER_ENABLE" ]
527  }
528}
529
530ohos_fuzztest("BMSFreeInstallFuzzTest004") {
531  fuzz_config_file = "../../../fuzztest/fuzztest_bundlemanager/bmsfreeinstall_fuzzer"
532
533  use_exceptions = true
534  module_out_path = module_output_path
535  include_dirs = [ "${test_path}/fuzztest" ]
536  sources = bundle_mgr_source
537  sources += [
538    "${services_path}/bundlemgr/src/aot/aot_executor.cpp",
539    "${services_path}/bundlemgr/src/installd/installd_host_impl.cpp",
540    "${services_path}/bundlemgr/src/installd/installd_operator.cpp",
541    "${services_path}/bundlemgr/src/installd/installd_service.cpp",
542  ]
543
544  sources +=
545      [ "${services_path}/bundlemgr/src/installd/installd_permission_mgr.cpp" ]
546
547  sources += bundle_install_sources
548
549  sources += [ "bmsfreeinstall_fuzzer004.cpp" ]
550
551  configs = [ "${services_path}/bundlemgr/test:bundlemgr_test_config" ]
552  cflags = [
553    "-g",
554    "-O0",
555    "-Wno-unused-variable",
556    "-fno-omit-frame-pointer",
557  ]
558
559  deps = [
560    "${core_path}:appexecfwk_core",
561  ]
562  deps += bundle_install_deps
563
564  external_deps = [
565    "ability_base:want",
566    "ability_runtime:app_manager",
567    "access_token:el5_filekey_manager_sdk",
568    "access_token:libprivacy_sdk",
569    "access_token:libtokenid_sdk",
570    "appspawn:hnpapi",
571    "appverify:libhapverify",
572    "bounds_checking_function:libsec_shared",
573    "common_event_service:cesfwk_innerkits",
574    "eventhandler:libeventhandler",
575    "hilog:libhilog",
576    "hitrace:hitrace_meter",
577    "init:libbegetutil",
578    "jsoncpp:jsoncpp",
579    "safwk:system_ability_fwk",
580    "samgr:samgr_proxy",
581    "selinux_adapter:librestorecon",
582  ]
583  external_deps += bundle_install_external_deps
584
585  defines = []
586  if (code_signature_enable) {
587    sources += [
588      "${services_path}/bundlemgr/src/aot/aot_sign_data_cache_mgr.cpp",
589      "${services_path}/bundlemgr/src/code_sign_helper.cpp",
590    ]
591    include_dirs += [ "${services_path}/bundlemgr/include" ]
592    external_deps += [
593      "bounds_checking_function:libsec_shared",
594      "code_signature:libcode_sign_utils",
595      "ets_runtime:libcompiler_service",
596    ]
597    defines += [ "CODE_SIGNATURE_ENABLE" ]
598  }
599
600  if (configpolicy_enable) {
601    external_deps += [ "config_policy:configpolicy_util" ]
602    defines += [ "CONFIG_POLOCY_ENABLE" ]
603  }
604
605  if (bundle_framework_app_control) {
606    defines += [ "BUNDLE_FRAMEWORK_APP_CONTROL" ]
607    sources += [
608      "${services_path}/bundlemgr/src/app_control/app_control_manager.cpp",
609      "${services_path}/bundlemgr/src/app_control/app_control_manager_host_impl.cpp",
610      "${services_path}/bundlemgr/src/app_control/app_control_manager_rdb.cpp",
611      "${services_path}/bundlemgr/src/app_control/app_jump_interceptor_event_subscriber.cpp",
612      "${services_path}/bundlemgr/src/app_control/app_jump_interceptor_manager_rdb.cpp",
613    ]
614    include_dirs += [ "${services_path}/bundlemgr/include/app_control" ]
615    external_deps += [ "c_utils:utils" ]
616  }
617  if (current_cpu == "arm64") {
618    defines += [ "USE_BUNDLE_EXTENSION" ]
619  }
620
621  if (build_selinux) {
622    external_deps += [ "selinux_adapter:libhap_restorecon" ]
623  }
624  if (account_enable) {
625    external_deps += [ "os_account:os_account_innerkits" ]
626    defines += [ "ACCOUNT_ENABLE" ]
627  }
628  if (bundle_framework_free_install) {
629    sources += aging
630    sources += free_install
631    sources += distributed_manager
632    external_deps += [
633      "ability_runtime:ability_manager",
634      "ability_runtime:app_manager",
635      "battery_manager:batterysrv_client",
636      "device_usage_statistics:usagestatsinner",
637      "display_manager:displaymgr",
638      "power_manager:powermgr_client",
639      "syscap_codec:syscap_interface_shared",
640    ]
641    defines += [ "BUNDLE_FRAMEWORK_FREE_INSTALL" ]
642  }
643  if (global_resmgr_enable) {
644    defines += [ "GLOBAL_RESMGR_ENABLE" ]
645    external_deps += [ "resource_management:global_resmgr" ]
646  }
647  if (hicollie_enable) {
648    external_deps += [ "hicollie:libhicollie" ]
649    defines += [ "HICOLLIE_ENABLE" ]
650  }
651
652  if (hisysevent_enable) {
653    sources += [ "${services_path}/bundlemgr/src/inner_event_report.cpp" ]
654    external_deps += [ "hisysevent:libhisysevent" ]
655    defines += [ "HISYSEVENT_ENABLE" ]
656  }
657
658  if (bundle_framework_quick_fix) {
659    include_dirs += [ "${services_path}/bundlemgr/src/include/quick_fix" ]
660    sources += quick_fix
661    defines += [ "BUNDLE_FRAMEWORK_QUICK_FIX" ]
662  }
663
664  if (storage_service_enable) {
665    external_deps += [ "storage_service:storage_manager_sa_proxy" ]
666    defines += [ "STORAGE_SERVICE_ENABLE" ]
667  }
668
669  external_deps += [ "kv_store:distributeddata_inner" ]
670  configs += [ "${services_path}/bundlemgr:rdb_config" ]
671  external_deps += [ "relational_store:native_rdb" ]
672  sources += [
673    "${services_path}/bundlemgr/src/bundle_data_storage_rdb.cpp",
674    "${services_path}/bundlemgr/src/preinstall_data_storage_rdb.cpp",
675    "${services_path}/bundlemgr/src/rdb/bms_rdb_open_callback.cpp",
676    "${services_path}/bundlemgr/src/rdb/rdb_data_manager.cpp",
677  ]
678  if (udmf_enabled) {
679    defines += [ "BUNDLE_FRAMEWORK_UDMF_ENABLED" ]
680    external_deps += [ "udmf:udmf_client" ]
681    external_deps += [ "udmf:utd_client" ]
682  }
683
684  if (user_auth_framework_impl_enabled) {
685    external_deps += [ "user_auth_framework:userauth_client" ]
686    defines += [ "BMS_USER_AUTH_FRAMEWORK_ENABLED" ]
687    include_dirs += [ "${services_path}/bundlemgr/include/user_auth" ]
688    sources += user_auth
689  }
690
691  if (bms_device_info_manager_part_enabled) {
692    external_deps += [
693      "device_info_manager:distributed_device_profile_common",
694      "device_info_manager:distributed_device_profile_sdk",
695    ]
696    defines += [ "BMS_DEVICE_INFO_MANAGER_ENABLE" ]
697  }
698}