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