1# Copyright (c) 2021-2024 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("../../../appexecfwk.gni") 16 17config("appexecfwk_base_sdk_config") { 18 include_dirs = [ 19 "include", 20 "include/bundle_resource", 21 "include/clone", 22 "include/distributed_manager", 23 "include/free_install", 24 "include/overlay", 25 "include/plugin", 26 "include/quick_fix", 27 "include/shared", 28 ] 29} 30 31config("bundle_all_dependent_config") { 32 include_dirs = [ 33 "//base/notification/common_event_service/interfaces/inner_api", 34 "include", 35 "include/clone", 36 ] 37} 38 39ohos_shared_library("appexecfwk_base") { 40 branch_protector_ret = "pac_ret" 41 42 sanitize = { 43 boundary_sanitize = true 44 cfi = true 45 cfi_cross_dso = true 46 debug = false 47 integer_overflow = true 48 ubsan = true 49 } 50 51 sources = [ 52 "src/ability_info.cpp", 53 "src/app_jump_control_rule.cpp", 54 "src/app_provision_info.cpp", 55 "src/app_running_control_rule.cpp", 56 "src/app_running_control_rule_result.cpp", 57 "src/application_info.cpp", 58 "src/bms_json_util.cpp", 59 "src/bundle_dir.cpp", 60 "src/bundle_info.cpp", 61 "src/bundle_pack_info.cpp", 62 "src/bundle_resource/bundle_resource_info.cpp", 63 "src/bundle_resource/bundle_system_state.cpp", 64 "src/bundle_resource/launcher_ability_resource_info.cpp", 65 "src/bundle_user_info.cpp", 66 "src/clone/clone_param.cpp", 67 "src/code_protect_bundle_info.cpp", 68 "src/common_event_info.cpp", 69 "src/compatible_ability_info.cpp", 70 "src/compatible_application_info.cpp", 71 "src/data_group_info.cpp", 72 "src/disposed_rule.cpp", 73 "src/distributed_ability_info.cpp", 74 "src/distributed_bundle_info.cpp", 75 "src/distributed_manager/rpc_id_result.cpp", 76 "src/distributed_module_info.cpp", 77 "src/extension_ability_info.cpp", 78 "src/extension_form_info.cpp", 79 "src/extension_form_profile.cpp", 80 "src/form_info.cpp", 81 "src/free_install/dispatch_info.cpp", 82 "src/free_install/install_result.cpp", 83 "src/free_install/target_ability_info.cpp", 84 "src/hap_module_info.cpp", 85 "src/install_param.cpp", 86 "src/mime_type_mgr.cpp", 87 "src/module_info.cpp", 88 "src/overlay/overlay_bundle_info.cpp", 89 "src/overlay/overlay_module_info.cpp", 90 "src/perf_profile.cpp", 91 "src/permission_define.cpp", 92 "src/plugin/install_plugin_param.cpp", 93 "src/plugin/plugin_bundle_info.cpp", 94 "src/plugin/plugin_module_info.cpp", 95 "src/preinstalled_application_info.cpp", 96 "src/quick_fix/app_quick_fix.cpp", 97 "src/quick_fix/appqf_info.cpp", 98 "src/quick_fix/hqf_info.cpp", 99 "src/recoverable_application_info.cpp", 100 "src/remote_ability_info.cpp", 101 "src/shared/base_shared_bundle_info.cpp", 102 "src/shared/shared_bundle_info.cpp", 103 "src/shared/shared_module_info.cpp", 104 "src/shortcut_info.cpp", 105 "src/skill.cpp", 106 ] 107 108 public_configs = [ ":appexecfwk_base_sdk_config" ] 109 110 all_dependent_configs = [ ":bundle_all_dependent_config" ] 111 112 defines = [ 113 "APP_LOG_TAG = \"BMS\"", 114 "LOG_DOMAIN = 0xD001120", 115 ] 116 117 cflags = [ 118 "-Os", 119 "-fstack-protector-strong", 120 ] 121 122 cflags_cc = [ 123 "-Os", 124 "-fstack-protector-strong", 125 ] 126 127 use_exceptions = true 128 if (target_cpu == "arm") { 129 cflags += [ "-DBINDER_IPC_32BIT" ] 130 } 131 deps = [ "${common_path}:libappexecfwk_common" ] 132 133 external_deps = [ 134 "c_utils:utils", 135 "hilog:libhilog", 136 "ipc:ipc_single", 137 ] 138 139 if (udmf_enabled) { 140 defines += [ "BUNDLE_FRAMEWORK_UDMF_ENABLED" ] 141 external_deps += [ "udmf:utd_client" ] 142 } 143 144 if (bundle_framework_form_dimension_2_3) { 145 defines += [ "FORM_DIMENSION_2_3" ] 146 } 147 if (bundle_framework_form_dimension_3_3) { 148 defines += [ "FORM_DIMENSION_3_3" ] 149 } 150 151 public_external_deps = [ 152 "ability_base:base", 153 "ability_base:want", 154 "json:nlohmann_json_static", 155 ] 156 157 subsystem_name = "bundlemanager" 158 innerapi_tags = [ 159 "platformsdk", 160 "sasdk", 161 ] 162 part_name = "bundle_framework" 163} 164