1600cc4afSopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
2600cc4afSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3600cc4afSopenharmony_ci# you may not use this file except in compliance with the License.
4600cc4afSopenharmony_ci# You may obtain a copy of the License at
5600cc4afSopenharmony_ci#
6600cc4afSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7600cc4afSopenharmony_ci#
8600cc4afSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9600cc4afSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10600cc4afSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11600cc4afSopenharmony_ci# See the License for the specific language governing permissions and
12600cc4afSopenharmony_ci# limitations under the License.
13600cc4afSopenharmony_ci
14600cc4afSopenharmony_ciimport("//build/ohos.gni")
15600cc4afSopenharmony_ciimport("../../appexecfwk.gni")
16600cc4afSopenharmony_ciimport("appexecfwk_bundlemgr.gni")
17600cc4afSopenharmony_ci
18600cc4afSopenharmony_ciconfig("bundlemgr_common_config") {
19600cc4afSopenharmony_ci  include_dirs = [
20600cc4afSopenharmony_ci    "include",
21600cc4afSopenharmony_ci    "include/aot",
22600cc4afSopenharmony_ci    "include/app_provision_info",
23600cc4afSopenharmony_ci    "include/app_service_fwk",
24600cc4afSopenharmony_ci    "include/bundlemgr",
25600cc4afSopenharmony_ci    "include/bms_extension",
26600cc4afSopenharmony_ci    "include/bundle_resource",
27600cc4afSopenharmony_ci    "include/clone",
28600cc4afSopenharmony_ci    "include/common",
29600cc4afSopenharmony_ci    "include/default_app",
30600cc4afSopenharmony_ci    "include/free_install",
31600cc4afSopenharmony_ci    "include/distributed_manager",
32600cc4afSopenharmony_ci    "include/driver",
33600cc4afSopenharmony_ci    "include/extend_resource",
34600cc4afSopenharmony_ci    "include/uninstall_data_mgr",
35600cc4afSopenharmony_ci    "include/overlay",
36600cc4afSopenharmony_ci    "include/quick_fix",
37600cc4afSopenharmony_ci    "include/sandbox_app",
38600cc4afSopenharmony_ci    "include/navigation",
39600cc4afSopenharmony_ci    "include/shared",
40600cc4afSopenharmony_ci    "include/quick_fix/state/include",
41600cc4afSopenharmony_ci    "include/utd",
42600cc4afSopenharmony_ci    "include/verify",
43600cc4afSopenharmony_ci    "../../interfaces/inner_api/appexecfwk_base/include",
44600cc4afSopenharmony_ci    "../../interfaces/inner_api/bundlemgr_extension/include",
45600cc4afSopenharmony_ci  ]
46600cc4afSopenharmony_ci
47600cc4afSopenharmony_ci  include_dirs += bundle_mgr_impl_include_dirs
48600cc4afSopenharmony_ci
49600cc4afSopenharmony_ci  defines = [
50600cc4afSopenharmony_ci    "APP_LOG_TAG = \"BMS\"",
51600cc4afSopenharmony_ci    "LOG_DOMAIN = 0xD001120",
52600cc4afSopenharmony_ci  ]
53600cc4afSopenharmony_ci}
54600cc4afSopenharmony_ci
55600cc4afSopenharmony_ciconfig("rdb_config") {
56600cc4afSopenharmony_ci  include_dirs = [ "include/rdb" ]
57600cc4afSopenharmony_ci}
58600cc4afSopenharmony_ci
59600cc4afSopenharmony_ciconfig("app_control_config") {
60600cc4afSopenharmony_ci  include_dirs = [ "include/app_control" ]
61600cc4afSopenharmony_ci}
62600cc4afSopenharmony_ci
63600cc4afSopenharmony_ciconfig("overlay_installation_config") {
64600cc4afSopenharmony_ci  include_dirs = [ "include/overlay" ]
65600cc4afSopenharmony_ci}
66600cc4afSopenharmony_ci
67600cc4afSopenharmony_cibundlemgr_parser_common_config = [ ":bundlemgr_common_config" ]
68600cc4afSopenharmony_ci
69600cc4afSopenharmony_ciohos_source_set("parser_common") {
70600cc4afSopenharmony_ci  branch_protector_ret = "pac_ret"
71600cc4afSopenharmony_ci
72600cc4afSopenharmony_ci  sanitize = {
73600cc4afSopenharmony_ci    cfi = true
74600cc4afSopenharmony_ci    cfi_cross_dso = true
75600cc4afSopenharmony_ci    debug = false
76600cc4afSopenharmony_ci  }
77600cc4afSopenharmony_ci
78600cc4afSopenharmony_ci  sources = [
79600cc4afSopenharmony_ci    "src/base_extractor.cpp",
80600cc4afSopenharmony_ci    "src/zip_file.cpp",
81600cc4afSopenharmony_ci  ]
82600cc4afSopenharmony_ci
83600cc4afSopenharmony_ci  public_configs = bundlemgr_parser_common_config
84600cc4afSopenharmony_ci
85600cc4afSopenharmony_ci  deps = [
86600cc4afSopenharmony_ci    "${base_path}:appexecfwk_base",
87600cc4afSopenharmony_ci    "${common_path}:libappexecfwk_common",
88600cc4afSopenharmony_ci    "${extension_path}:bundlemgr_extension",
89600cc4afSopenharmony_ci  ]
90600cc4afSopenharmony_ci
91600cc4afSopenharmony_ci  external_deps = [
92600cc4afSopenharmony_ci    "c_utils:utils",
93600cc4afSopenharmony_ci    "hilog:libhilog",
94600cc4afSopenharmony_ci    "zlib:shared_libz",
95600cc4afSopenharmony_ci  ]
96600cc4afSopenharmony_ci
97600cc4afSopenharmony_ci  public_external_deps = [
98600cc4afSopenharmony_ci    "json:nlohmann_json_static",
99600cc4afSopenharmony_ci    "zlib:libz",
100600cc4afSopenharmony_ci  ]
101600cc4afSopenharmony_ci
102600cc4afSopenharmony_ci  part_name = "bundle_framework"
103600cc4afSopenharmony_ci}
104600cc4afSopenharmony_ci
105600cc4afSopenharmony_ciohos_source_set("rpcid_decode") {
106600cc4afSopenharmony_ci  branch_protector_ret = "pac_ret"
107600cc4afSopenharmony_ci
108600cc4afSopenharmony_ci  sanitize = {
109600cc4afSopenharmony_ci    cfi = true
110600cc4afSopenharmony_ci    cfi_cross_dso = true
111600cc4afSopenharmony_ci    debug = false
112600cc4afSopenharmony_ci  }
113600cc4afSopenharmony_ci
114600cc4afSopenharmony_ci  include_dirs = [ "include/rpcid_decode" ]
115600cc4afSopenharmony_ci
116600cc4afSopenharmony_ci  sources = [ "src/rpcid_decode/syscap_tool.c" ]
117600cc4afSopenharmony_ci
118600cc4afSopenharmony_ci  external_deps = [
119600cc4afSopenharmony_ci    "c_utils:utils",
120600cc4afSopenharmony_ci    "hilog:libhilog",
121600cc4afSopenharmony_ci  ]
122600cc4afSopenharmony_ci
123600cc4afSopenharmony_ci  part_name = "bundle_framework"
124600cc4afSopenharmony_ci}
125600cc4afSopenharmony_ci
126600cc4afSopenharmony_ciohos_source_set("bundle_parser") {
127600cc4afSopenharmony_ci  branch_protector_ret = "pac_ret"
128600cc4afSopenharmony_ci
129600cc4afSopenharmony_ci  sanitize = {
130600cc4afSopenharmony_ci    cfi = true
131600cc4afSopenharmony_ci    cfi_cross_dso = true
132600cc4afSopenharmony_ci    debug = false
133600cc4afSopenharmony_ci  }
134600cc4afSopenharmony_ci
135600cc4afSopenharmony_ci  sources = [
136600cc4afSopenharmony_ci    "include/bundle_extractor.h",
137600cc4afSopenharmony_ci    "include/bundle_parser.h",
138600cc4afSopenharmony_ci    "include/bundle_profile.h",
139600cc4afSopenharmony_ci    "include/default_permission_profile.h",
140600cc4afSopenharmony_ci    "include/module_profile.h",
141600cc4afSopenharmony_ci    "src/bundle_extractor.cpp",
142600cc4afSopenharmony_ci    "src/bundle_parser.cpp",
143600cc4afSopenharmony_ci    "src/bundle_profile.cpp",
144600cc4afSopenharmony_ci    "src/default_permission_profile.cpp",
145600cc4afSopenharmony_ci    "src/module_profile.cpp",
146600cc4afSopenharmony_ci    "src/pre_bundle_profile.cpp",
147600cc4afSopenharmony_ci  ]
148600cc4afSopenharmony_ci
149600cc4afSopenharmony_ci  if (bundle_framework_quick_fix) {
150600cc4afSopenharmony_ci    sources += [
151600cc4afSopenharmony_ci      "include/quick_fix/patch_extractor.h",
152600cc4afSopenharmony_ci      "include/quick_fix/patch_parser.h",
153600cc4afSopenharmony_ci      "include/quick_fix/patch_profile.h",
154600cc4afSopenharmony_ci      "src/quick_fix/patch_extractor.cpp",
155600cc4afSopenharmony_ci      "src/quick_fix/patch_parser.cpp",
156600cc4afSopenharmony_ci      "src/quick_fix/patch_profile.cpp",
157600cc4afSopenharmony_ci    ]
158600cc4afSopenharmony_ci  }
159600cc4afSopenharmony_ci
160600cc4afSopenharmony_ci  public_configs = bundlemgr_parser_common_config
161600cc4afSopenharmony_ci  cflags = []
162600cc4afSopenharmony_ci  if (target_cpu == "arm") {
163600cc4afSopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
164600cc4afSopenharmony_ci  }
165600cc4afSopenharmony_ci  deps = [
166600cc4afSopenharmony_ci    ":parser_common",
167600cc4afSopenharmony_ci    ":rpcid_decode",
168600cc4afSopenharmony_ci    "${base_path}:appexecfwk_base",
169600cc4afSopenharmony_ci    "${common_path}:libappexecfwk_common",
170600cc4afSopenharmony_ci    "${extension_path}:bundlemgr_extension",
171600cc4afSopenharmony_ci  ]
172600cc4afSopenharmony_ci
173600cc4afSopenharmony_ci  external_deps = [
174600cc4afSopenharmony_ci    "ability_base:want",
175600cc4afSopenharmony_ci    "access_token:libaccesstoken_sdk",
176600cc4afSopenharmony_ci    "c_utils:utils",
177600cc4afSopenharmony_ci    "hilog:libhilog",
178600cc4afSopenharmony_ci    "init:libbegetutil",
179600cc4afSopenharmony_ci    "ipc:ipc_single",
180600cc4afSopenharmony_ci  ]
181600cc4afSopenharmony_ci
182600cc4afSopenharmony_ci  public_external_deps = [
183600cc4afSopenharmony_ci    "json:nlohmann_json_static",
184600cc4afSopenharmony_ci    "zlib:libz",
185600cc4afSopenharmony_ci  ]
186600cc4afSopenharmony_ci
187600cc4afSopenharmony_ci  defines = []
188600cc4afSopenharmony_ci  if (use_pre_bundle_profile) {
189600cc4afSopenharmony_ci    defines += [ "USE_PRE_BUNDLE_PROFILE" ]
190600cc4afSopenharmony_ci  }
191600cc4afSopenharmony_ci
192600cc4afSopenharmony_ci  if (bundle_framework_overlay_install) {
193600cc4afSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_OVERLAY_INSTALLATION" ]
194600cc4afSopenharmony_ci  }
195600cc4afSopenharmony_ci
196600cc4afSopenharmony_ci  if (is_emulator) {
197600cc4afSopenharmony_ci    defines += [ "X86_EMULATOR_MODE" ]
198600cc4afSopenharmony_ci  }
199600cc4afSopenharmony_ci  part_name = "bundle_framework"
200600cc4afSopenharmony_ci}
201600cc4afSopenharmony_ci
202600cc4afSopenharmony_cigroup("bms_target") {
203600cc4afSopenharmony_ci  deps = [
204600cc4afSopenharmony_ci    ":installs",
205600cc4afSopenharmony_ci    ":installs.cfg",
206600cc4afSopenharmony_ci    ":libbms",
207600cc4afSopenharmony_ci  ]
208600cc4afSopenharmony_ci}
209600cc4afSopenharmony_ci
210600cc4afSopenharmony_ciohos_shared_library("libbms") {
211600cc4afSopenharmony_ci  branch_protector_ret = "pac_ret"
212600cc4afSopenharmony_ci
213600cc4afSopenharmony_ci  sanitize = {
214600cc4afSopenharmony_ci    boundary_sanitize = true
215600cc4afSopenharmony_ci    cfi = true
216600cc4afSopenharmony_ci    cfi_cross_dso = true
217600cc4afSopenharmony_ci    debug = false
218600cc4afSopenharmony_ci    integer_overflow = true
219600cc4afSopenharmony_ci    ubsan = true
220600cc4afSopenharmony_ci  }
221600cc4afSopenharmony_ci
222600cc4afSopenharmony_ci  use_exceptions = true
223600cc4afSopenharmony_ci  visibility = [
224600cc4afSopenharmony_ci    "//base/*",
225600cc4afSopenharmony_ci    "//foundation/*",
226600cc4afSopenharmony_ci  ]
227600cc4afSopenharmony_ci
228600cc4afSopenharmony_ci  sources = bundle_mgr_source
229600cc4afSopenharmony_ci
230600cc4afSopenharmony_ci  sources += bundle_install_sources
231600cc4afSopenharmony_ci
232600cc4afSopenharmony_ci  sources += bundle_mgr_impl_sources
233600cc4afSopenharmony_ci
234600cc4afSopenharmony_ci  defines = [
235600cc4afSopenharmony_ci    "APP_LOG_TAG = \"BMS\"",
236600cc4afSopenharmony_ci    "LOG_DOMAIN = 0xD001120",
237600cc4afSopenharmony_ci  ]
238600cc4afSopenharmony_ci
239600cc4afSopenharmony_ci  if (is_emulator) {
240600cc4afSopenharmony_ci    defines += [ "X86_EMULATOR_MODE" ]
241600cc4afSopenharmony_ci  }
242600cc4afSopenharmony_ci
243600cc4afSopenharmony_ci  configs = [ ":bundlemgr_common_config" ]
244600cc4afSopenharmony_ci  cflags = [
245600cc4afSopenharmony_ci    "-fvisibility=hidden",
246600cc4afSopenharmony_ci    "-fdata-sections",
247600cc4afSopenharmony_ci    "-ffunction-sections",
248600cc4afSopenharmony_ci    "-Wno-non-c-typedef-for-linkage",
249600cc4afSopenharmony_ci    "-Os",
250600cc4afSopenharmony_ci  ]
251600cc4afSopenharmony_ci
252600cc4afSopenharmony_ci  cflags_cc = [
253600cc4afSopenharmony_ci    "-fvisibility-inlines-hidden",
254600cc4afSopenharmony_ci    "-Wno-non-c-typedef-for-linkage",
255600cc4afSopenharmony_ci    "-Os",
256600cc4afSopenharmony_ci  ]
257600cc4afSopenharmony_ci  if (target_cpu == "arm") {
258600cc4afSopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
259600cc4afSopenharmony_ci  }
260600cc4afSopenharmony_ci  deps = [
261600cc4afSopenharmony_ci    ":bundle_parser",
262600cc4afSopenharmony_ci    ":parser_common",
263600cc4afSopenharmony_ci    "${base_path}:appexecfwk_base",
264600cc4afSopenharmony_ci    "${common_path}:libappexecfwk_common",
265600cc4afSopenharmony_ci    "${core_path}:appexecfwk_core",
266600cc4afSopenharmony_ci    "${extension_path}:bundlemgr_extension",
267600cc4afSopenharmony_ci  ]
268600cc4afSopenharmony_ci
269600cc4afSopenharmony_ci  version_script = "libbms.map"
270600cc4afSopenharmony_ci  external_deps = [
271600cc4afSopenharmony_ci    "ability_base:want",
272600cc4afSopenharmony_ci    "ability_runtime:ability_connect_callback_stub",
273600cc4afSopenharmony_ci    "access_token:el5_filekey_manager_sdk",
274600cc4afSopenharmony_ci    "access_token:libaccesstoken_sdk",
275600cc4afSopenharmony_ci    "access_token:libprivacy_sdk",
276600cc4afSopenharmony_ci    "access_token:libtokenid_sdk",
277600cc4afSopenharmony_ci    "appverify:libhapverify",
278600cc4afSopenharmony_ci    "common_event_service:cesfwk_innerkits",
279600cc4afSopenharmony_ci    "eventhandler:libeventhandler",
280600cc4afSopenharmony_ci    "ffrt:libffrt",
281600cc4afSopenharmony_ci    "hilog:libhilog",
282600cc4afSopenharmony_ci    "hitrace:hitrace_meter",
283600cc4afSopenharmony_ci    "init:libbegetutil",
284600cc4afSopenharmony_ci    "ipc:ipc_single",
285600cc4afSopenharmony_ci    "safwk:system_ability_fwk",
286600cc4afSopenharmony_ci    "samgr:samgr_proxy",
287600cc4afSopenharmony_ci    "syscap_codec:syscap_interface_shared",
288600cc4afSopenharmony_ci    "zlib:shared_libz",
289600cc4afSopenharmony_ci  ]
290600cc4afSopenharmony_ci
291600cc4afSopenharmony_ci  if (bundle_framework_power_mgr_enable) {
292600cc4afSopenharmony_ci    external_deps += aot_external_deps
293600cc4afSopenharmony_ci  }
294600cc4afSopenharmony_ci
295600cc4afSopenharmony_ci  if (storage_service_enable) {
296600cc4afSopenharmony_ci    external_deps += [ "storage_service:storage_manager_sa_proxy" ]
297600cc4afSopenharmony_ci    defines += [ "STORAGE_SERVICE_ENABLE" ]
298600cc4afSopenharmony_ci  }
299600cc4afSopenharmony_ci
300600cc4afSopenharmony_ci  if (window_enable) {
301600cc4afSopenharmony_ci    external_deps += [ "window_manager:libwsutils" ]
302600cc4afSopenharmony_ci    defines += [ "WINDOW_ENABLE" ]
303600cc4afSopenharmony_ci  }
304600cc4afSopenharmony_ci
305600cc4afSopenharmony_ci  if (distributed_bundle_framework) {
306600cc4afSopenharmony_ci    external_deps += [ "distributed_bundle_framework:dbms_fwk" ]
307600cc4afSopenharmony_ci    defines += [ "DISTRIBUTED_BUNDLE_FRAMEWORK" ]
308600cc4afSopenharmony_ci  }
309600cc4afSopenharmony_ci
310600cc4afSopenharmony_ci  if (bundle_framework_sandbox_app) {
311600cc4afSopenharmony_ci    sources += sandbox_app
312600cc4afSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_SANDBOX_APP" ]
313600cc4afSopenharmony_ci
314600cc4afSopenharmony_ci    if (dlp_permission_enable) {
315600cc4afSopenharmony_ci      external_deps += [ "dlp_permission_service:libdlp_permission_sdk" ]
316600cc4afSopenharmony_ci      defines += [ "DLP_PERMISSION_ENABLE" ]
317600cc4afSopenharmony_ci    }
318600cc4afSopenharmony_ci  }
319600cc4afSopenharmony_ci
320600cc4afSopenharmony_ci  if (ability_runtime_enable) {
321600cc4afSopenharmony_ci    external_deps += [
322600cc4afSopenharmony_ci      "ability_runtime:ability_manager",
323600cc4afSopenharmony_ci      "ability_runtime:app_manager",
324600cc4afSopenharmony_ci    ]
325600cc4afSopenharmony_ci    defines += [ "ABILITY_RUNTIME_ENABLE" ]
326600cc4afSopenharmony_ci  }
327600cc4afSopenharmony_ci
328600cc4afSopenharmony_ci  if (account_enable) {
329600cc4afSopenharmony_ci    external_deps += [ "os_account:os_account_innerkits" ]
330600cc4afSopenharmony_ci    defines += [ "ACCOUNT_ENABLE" ]
331600cc4afSopenharmony_ci  }
332600cc4afSopenharmony_ci
333600cc4afSopenharmony_ci  if (bundle_framework_free_install) {
334600cc4afSopenharmony_ci    sources += aging
335600cc4afSopenharmony_ci    sources += free_install
336600cc4afSopenharmony_ci    sources += distributed_manager
337600cc4afSopenharmony_ci    external_deps += [
338600cc4afSopenharmony_ci      "ability_runtime:ability_manager",
339600cc4afSopenharmony_ci      "ability_runtime:app_manager",
340600cc4afSopenharmony_ci      "battery_manager:batterysrv_client",
341600cc4afSopenharmony_ci      "display_manager:displaymgr",
342600cc4afSopenharmony_ci      "power_manager:powermgr_client",
343600cc4afSopenharmony_ci    ]
344600cc4afSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_FREE_INSTALL" ]
345600cc4afSopenharmony_ci  }
346600cc4afSopenharmony_ci
347600cc4afSopenharmony_ci  if (device_usage_statistics_enabled) {
348600cc4afSopenharmony_ci    external_deps += [ "device_usage_statistics:usagestatsinner" ]
349600cc4afSopenharmony_ci    defines += [ "DEVICE_USAGE_STATISTICS_ENABLED" ]
350600cc4afSopenharmony_ci  }
351600cc4afSopenharmony_ci
352600cc4afSopenharmony_ci  if (bundle_framework_power_mgr_enable) {
353600cc4afSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_POWER_MGR_ENABLE" ]
354600cc4afSopenharmony_ci  }
355600cc4afSopenharmony_ci
356600cc4afSopenharmony_ci  if (bundle_framework_default_app) {
357600cc4afSopenharmony_ci    sources += default_app
358600cc4afSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_DEFAULT_APP" ]
359600cc4afSopenharmony_ci  }
360600cc4afSopenharmony_ci
361600cc4afSopenharmony_ci  if (bundle_framework_quick_fix) {
362600cc4afSopenharmony_ci    sources += quick_fix
363600cc4afSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_QUICK_FIX" ]
364600cc4afSopenharmony_ci  }
365600cc4afSopenharmony_ci
366600cc4afSopenharmony_ci  if (configpolicy_enable) {
367600cc4afSopenharmony_ci    external_deps += [ "config_policy:configpolicy_util" ]
368600cc4afSopenharmony_ci    defines += [ "CONFIG_POLOCY_ENABLE" ]
369600cc4afSopenharmony_ci  }
370600cc4afSopenharmony_ci
371600cc4afSopenharmony_ci  if (global_resmgr_enable) {
372600cc4afSopenharmony_ci    defines += [ "GLOBAL_RESMGR_ENABLE" ]
373600cc4afSopenharmony_ci    external_deps += [ "resource_management:global_resmgr" ]
374600cc4afSopenharmony_ci  }
375600cc4afSopenharmony_ci
376600cc4afSopenharmony_ci  if (global_i18n_enable) {
377600cc4afSopenharmony_ci    defines += [ "GLOBAL_I18_ENABLE" ]
378600cc4afSopenharmony_ci    external_deps += [ "i18n:intl_util" ]
379600cc4afSopenharmony_ci  }
380600cc4afSopenharmony_ci
381600cc4afSopenharmony_ci  if (hicollie_enable) {
382600cc4afSopenharmony_ci    external_deps += [ "hicollie:libhicollie" ]
383600cc4afSopenharmony_ci    defines += [ "HICOLLIE_ENABLE" ]
384600cc4afSopenharmony_ci  }
385600cc4afSopenharmony_ci
386600cc4afSopenharmony_ci  if (hisysevent_enable) {
387600cc4afSopenharmony_ci    sources += [ "src/inner_event_report.cpp" ]
388600cc4afSopenharmony_ci    external_deps += [ "hisysevent:libhisysevent" ]
389600cc4afSopenharmony_ci    defines += [ "HISYSEVENT_ENABLE" ]
390600cc4afSopenharmony_ci  }
391600cc4afSopenharmony_ci
392600cc4afSopenharmony_ci  if (use_pre_bundle_profile) {
393600cc4afSopenharmony_ci    defines += [ "USE_PRE_BUNDLE_PROFILE" ]
394600cc4afSopenharmony_ci  }
395600cc4afSopenharmony_ci
396600cc4afSopenharmony_ci  if (bundle_framework_overlay_install) {
397600cc4afSopenharmony_ci    configs += [ ":overlay_installation_config" ]
398600cc4afSopenharmony_ci    sources += overlay_installation
399600cc4afSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_OVERLAY_INSTALLATION" ]
400600cc4afSopenharmony_ci  }
401600cc4afSopenharmony_ci
402600cc4afSopenharmony_ci  configs += [ ":rdb_config" ]
403600cc4afSopenharmony_ci  external_deps += [ "relational_store:native_rdb" ]
404600cc4afSopenharmony_ci  sources += [
405600cc4afSopenharmony_ci    "src/bundle_data_storage_rdb.cpp",
406600cc4afSopenharmony_ci    "src/preinstall_data_storage_rdb.cpp",
407600cc4afSopenharmony_ci    "src/rdb/bms_rdb_open_callback.cpp",
408600cc4afSopenharmony_ci    "src/rdb/rdb_data_manager.cpp",
409600cc4afSopenharmony_ci  ]
410600cc4afSopenharmony_ci
411600cc4afSopenharmony_ci  if (bundle_framework_app_control) {
412600cc4afSopenharmony_ci    configs += [ ":app_control_config" ]
413600cc4afSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_APP_CONTROL" ]
414600cc4afSopenharmony_ci    sources += app_control
415600cc4afSopenharmony_ci  }
416600cc4afSopenharmony_ci
417600cc4afSopenharmony_ci  if (bundle_framework_bundle_resource) {
418600cc4afSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_BUNDLE_RESOURCE" ]
419600cc4afSopenharmony_ci    external_deps += [ "ability_base:configuration" ]
420600cc4afSopenharmony_ci    if (bundle_framework_graphics) {
421600cc4afSopenharmony_ci      defines += [ "BUNDLE_FRAMEWORK_GRAPHICS" ]
422600cc4afSopenharmony_ci      external_deps += [
423600cc4afSopenharmony_ci        "ace_engine:drawable_descriptor",
424600cc4afSopenharmony_ci        "image_framework:image_native",
425600cc4afSopenharmony_ci      ]
426600cc4afSopenharmony_ci    }
427600cc4afSopenharmony_ci
428600cc4afSopenharmony_ci    sources += bundle_resource
429600cc4afSopenharmony_ci  }
430600cc4afSopenharmony_ci
431600cc4afSopenharmony_ci  if (build_variant == "root") {
432600cc4afSopenharmony_ci    defines += [ "QUOTA_PARAM_SET_ENABLE" ]
433600cc4afSopenharmony_ci  }
434600cc4afSopenharmony_ci
435600cc4afSopenharmony_ci  if (verify_abc_enabled) {
436600cc4afSopenharmony_ci    defines += [ "VERIFY_ABC_ENABLED" ]
437600cc4afSopenharmony_ci    external_deps += [ "runtime_core:libarkverifier" ]
438600cc4afSopenharmony_ci  }
439600cc4afSopenharmony_ci
440600cc4afSopenharmony_ci  if (check_eldir_enabled) {
441600cc4afSopenharmony_ci    defines += [ "CHECK_ELDIR_ENABLED" ]
442600cc4afSopenharmony_ci  }
443600cc4afSopenharmony_ci
444600cc4afSopenharmony_ci  if (udmf_enabled) {
445600cc4afSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_UDMF_ENABLED" ]
446600cc4afSopenharmony_ci    external_deps += [ "udmf:utd_client" ]
447600cc4afSopenharmony_ci  }
448600cc4afSopenharmony_ci
449600cc4afSopenharmony_ci  if (bms_device_info_manager_part_enabled) {
450600cc4afSopenharmony_ci    external_deps += [
451600cc4afSopenharmony_ci      "device_info_manager:distributed_device_profile_common",
452600cc4afSopenharmony_ci      "device_info_manager:distributed_device_profile_sdk",
453600cc4afSopenharmony_ci    ]
454600cc4afSopenharmony_ci    defines += [ "BMS_DEVICE_INFO_MANAGER_ENABLE" ]
455600cc4afSopenharmony_ci  }
456600cc4afSopenharmony_ci
457600cc4afSopenharmony_ci  if (app_domain_verify_enabled) {
458600cc4afSopenharmony_ci    external_deps += [
459600cc4afSopenharmony_ci      "app_domain_verify:app_domain_verify_common",
460600cc4afSopenharmony_ci      "app_domain_verify:app_domain_verify_mgr_client",
461600cc4afSopenharmony_ci    ]
462600cc4afSopenharmony_ci    defines += [ "APP_DOMAIN_VERIFY_ENABLED" ]
463600cc4afSopenharmony_ci  }
464600cc4afSopenharmony_ci
465600cc4afSopenharmony_ci  if (code_signature_enable) {
466600cc4afSopenharmony_ci    sources += [ "src/aot/aot_sign_data_cache_mgr.cpp" ]
467600cc4afSopenharmony_ci    defines += [ "CODE_SIGNATURE_ENABLE" ]
468600cc4afSopenharmony_ci  }
469600cc4afSopenharmony_ci
470600cc4afSopenharmony_ci  if (webview_enable) {
471600cc4afSopenharmony_ci    external_deps += [ "webview:app_fwk_update_service" ]
472600cc4afSopenharmony_ci    defines += [ "WEBVIEW_ENABLE" ]
473600cc4afSopenharmony_ci  }
474600cc4afSopenharmony_ci
475600cc4afSopenharmony_ci  subsystem_name = "bundlemanager"
476600cc4afSopenharmony_ci  part_name = "bundle_framework"
477600cc4afSopenharmony_ci}
478600cc4afSopenharmony_ci
479600cc4afSopenharmony_ciohos_shared_library("installs") {
480600cc4afSopenharmony_ci  branch_protector_ret = "pac_ret"
481600cc4afSopenharmony_ci
482600cc4afSopenharmony_ci  sanitize = {
483600cc4afSopenharmony_ci    boundary_sanitize = true
484600cc4afSopenharmony_ci    cfi = true
485600cc4afSopenharmony_ci    cfi_cross_dso = true
486600cc4afSopenharmony_ci    debug = false
487600cc4afSopenharmony_ci    integer_overflow = true
488600cc4afSopenharmony_ci    ubsan = true
489600cc4afSopenharmony_ci  }
490600cc4afSopenharmony_ci
491600cc4afSopenharmony_ci  sources = [
492600cc4afSopenharmony_ci    "src/bundle_extractor.cpp",
493600cc4afSopenharmony_ci    "src/system_ability_helper.cpp",
494600cc4afSopenharmony_ci  ]
495600cc4afSopenharmony_ci
496600cc4afSopenharmony_ci  use_exceptions = true
497600cc4afSopenharmony_ci  visibility = [
498600cc4afSopenharmony_ci    "//base/*",
499600cc4afSopenharmony_ci    "//foundation/*",
500600cc4afSopenharmony_ci  ]
501600cc4afSopenharmony_ci
502600cc4afSopenharmony_ci  sources += install_daemon_sources
503600cc4afSopenharmony_ci
504600cc4afSopenharmony_ci  defines = [ "APP_LOG_TAG = \"BMS\"" ]
505600cc4afSopenharmony_ci
506600cc4afSopenharmony_ci  configs = [ ":bundlemgr_common_config" ]
507600cc4afSopenharmony_ci
508600cc4afSopenharmony_ci  cflags = [ "-Os" ]
509600cc4afSopenharmony_ci  cflags_cc = [ "-Os" ]
510600cc4afSopenharmony_ci
511600cc4afSopenharmony_ci  if (target_cpu == "arm") {
512600cc4afSopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
513600cc4afSopenharmony_ci  }
514600cc4afSopenharmony_ci  deps = [
515600cc4afSopenharmony_ci    ":parser_common",
516600cc4afSopenharmony_ci    "${common_path}:libappexecfwk_common",
517600cc4afSopenharmony_ci  ]
518600cc4afSopenharmony_ci
519600cc4afSopenharmony_ci  external_deps = [
520600cc4afSopenharmony_ci    "access_token:el5_filekey_manager_sdk",
521600cc4afSopenharmony_ci    "appspawn:hnpapi",
522600cc4afSopenharmony_ci    "bounds_checking_function:libsec_shared",
523600cc4afSopenharmony_ci    "eventhandler:libeventhandler",
524600cc4afSopenharmony_ci    "hilog:libhilog",
525600cc4afSopenharmony_ci    "hitrace:hitrace_meter",
526600cc4afSopenharmony_ci    "init:libbegetutil",
527600cc4afSopenharmony_ci    "ipc:ipc_single",
528600cc4afSopenharmony_ci    "safwk:system_ability_fwk",
529600cc4afSopenharmony_ci    "samgr:samgr_proxy",
530600cc4afSopenharmony_ci    "selinux_adapter:librestorecon",
531600cc4afSopenharmony_ci    "storage_service:storage_manager_acl",
532600cc4afSopenharmony_ci  ]
533600cc4afSopenharmony_ci
534600cc4afSopenharmony_ci  if (code_signature_enable) {
535600cc4afSopenharmony_ci    external_deps += [
536600cc4afSopenharmony_ci      "code_signature:libcode_sign_utils",
537600cc4afSopenharmony_ci      "ets_runtime:libcompiler_service",
538600cc4afSopenharmony_ci    ]
539600cc4afSopenharmony_ci    defines += [ "CODE_SIGNATURE_ENABLE" ]
540600cc4afSopenharmony_ci  }
541600cc4afSopenharmony_ci
542600cc4afSopenharmony_ci  if (code_encryption_enable) {
543600cc4afSopenharmony_ci    defines += [ "CODE_ENCRYPTION_ENABLE" ]
544600cc4afSopenharmony_ci  }
545600cc4afSopenharmony_ci
546600cc4afSopenharmony_ci  if (configpolicy_enable) {
547600cc4afSopenharmony_ci    external_deps += [ "config_policy:configpolicy_util" ]
548600cc4afSopenharmony_ci    defines += [ "CONFIG_POLOCY_ENABLE" ]
549600cc4afSopenharmony_ci  }
550600cc4afSopenharmony_ci
551600cc4afSopenharmony_ci  if (build_selinux) {
552600cc4afSopenharmony_ci    external_deps += [ "selinux_adapter:libhap_restorecon" ]
553600cc4afSopenharmony_ci    cflags += [ "-DWITH_SELINUX" ]
554600cc4afSopenharmony_ci  }
555600cc4afSopenharmony_ci
556600cc4afSopenharmony_ci  if (dfx_sigdump_handler_enabled) {
557600cc4afSopenharmony_ci    external_deps += [ "faultloggerd:dfx_sigdump_handler" ]
558600cc4afSopenharmony_ci    defines += [ "DFX_SIGDUMP_HANDLER_ENABLE" ]
559600cc4afSopenharmony_ci  }
560600cc4afSopenharmony_ci
561600cc4afSopenharmony_ci  install_enable = true
562600cc4afSopenharmony_ci  subsystem_name = "bundlemanager"
563600cc4afSopenharmony_ci  part_name = "bundle_framework"
564600cc4afSopenharmony_ci}
565600cc4afSopenharmony_ci
566600cc4afSopenharmony_ciohos_prebuilt_etc("installs.cfg") {
567600cc4afSopenharmony_ci  source = "installs.cfg"
568600cc4afSopenharmony_ci  relative_install_dir = "init"
569600cc4afSopenharmony_ci  subsystem_name = "bundlemanager"
570600cc4afSopenharmony_ci  part_name = "bundle_framework"
571600cc4afSopenharmony_ci}
572