1# Copyright (c) 2023-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") 15 16sec_comp_root_dir = "../../.." 17 18config("security_component_common_config") { 19 include_dirs = [ 20 "${sec_comp_root_dir}/interfaces/inner_api/security_component_common", 21 "${sec_comp_root_dir}/interfaces/inner_api/security_component/include", 22 ] 23} 24 25ohos_shared_library("security_component_common") { 26 subsystem_name = "security" 27 part_name = "security_component_manager" 28 29 innerapi_tags = [ "sasdk" ] 30 public_configs = [ ":security_component_common_config" ] 31 32 sanitize = { 33 cfi = true 34 cfi_cross_dso = true 35 debug = false 36 } 37 branch_protector_ret = "pac_ret" 38 39 include_dirs = [ 40 "${sec_comp_root_dir}/frameworks/common/include", 41 "${sec_comp_root_dir}/frameworks/security_component/include", 42 "${sec_comp_root_dir}/frameworks/inner_api/security_component/include", 43 "${sec_comp_root_dir}/interfaces/inner_api/security_component_common", 44 "${sec_comp_root_dir}/interfaces/inner_api/security_component/include", 45 ] 46 47 sources = [ 48 "sa_main/delay_exit_task.cpp", 49 "sa_main/sec_comp_info_helper.cpp", 50 "sa_main/sec_event_handler.cpp", 51 "sa_main/window_info_helper.cpp", 52 ] 53 54 cflags_cc = [ 55 "-DHILOG_ENABLE", 56 "-fvisibility=hidden", 57 "-DSEC_COMP_SERVICE_COMPILE_ENABLE", 58 ] 59 cflags = [ "-DHILOG_ENABLE" ] 60 61 deps = [ 62 "${sec_comp_root_dir}/frameworks:security_component_enhance_adapter_service_src_set", 63 "${sec_comp_root_dir}/frameworks:security_component_no_cfi_framework_src_set", 64 ] 65 66 external_deps = [ 67 "ability_runtime:ability_manager", 68 "access_token:libaccesstoken_sdk", 69 "bundle_framework:appexecfwk_base", 70 "c_utils:utils", 71 "eventhandler:libeventhandler", 72 "hilog:libhilog", 73 "hisysevent:libhisysevent", 74 "ipc:ipc_core", 75 "ipc:ipc_single", 76 "json:nlohmann_json_static", 77 "safwk:system_ability_fwk", 78 "samgr:samgr_proxy", 79 "window_manager:libdm", 80 "window_manager:libwm", 81 ] 82} 83 84config("security_component_service_config") { 85 include_dirs = [ 86 "sa_main", 87 "${sec_comp_root_dir}/frameworks/common/include", 88 "${sec_comp_root_dir}/frameworks/enhance_adapter/include", 89 "${sec_comp_root_dir}/frameworks/security_component/include", 90 "${sec_comp_root_dir}/interfaces/inner_api/security_component/include", 91 ] 92} 93 94ohos_prebuilt_etc("security_component_service.rc") { 95 source = "security_component_service.cfg" 96 relative_install_dir = "init" 97 subsystem_name = "security" 98 part_name = "security_component_manager" 99} 100 101ohos_source_set("security_component_service_src_set") { 102 subsystem_name = "security" 103 part_name = "security_component_manager" 104 sanitize = { 105 cfi = true 106 cfi_cross_dso = true 107 debug = false 108 } 109 branch_protector_ret = "pac_ret" 110 include_dirs = [ 111 "sa_main", 112 "${sec_comp_root_dir}/frameworks/common/include", 113 "${sec_comp_root_dir}/frameworks/enhance_adapter/include", 114 "${sec_comp_root_dir}/frameworks/inner_api/security_component/include", 115 "${sec_comp_root_dir}/interfaces/inner_api/security_component_common", 116 "${sec_comp_root_dir}/interfaces/inner_api/security_component/include", 117 ] 118 119 sources = [ 120 "${sec_comp_root_dir}/frameworks/inner_api/security_component/src/sec_comp_dialog_callback_stub.cpp", 121 "sa_main/app_mgr_death_recipient.cpp", 122 "sa_main/app_state_observer.cpp", 123 "sa_main/first_use_dialog.cpp", 124 "sa_main/sec_comp_dialog_callback_proxy.cpp", 125 "sa_main/sec_comp_entity.cpp", 126 "sa_main/sec_comp_malicious_apps.cpp", 127 "sa_main/sec_comp_manager.cpp", 128 "sa_main/sec_comp_perm_manager.cpp", 129 "sa_main/sec_comp_service.cpp", 130 "sa_main/sec_comp_stub.cpp", 131 ] 132 133 cflags_cc = [ 134 "-DHILOG_ENABLE", 135 "-fvisibility=hidden", 136 "-DSEC_COMP_SERVICE_COMPILE_ENABLE", 137 ] 138 cflags = [ "-DHILOG_ENABLE" ] 139 140 deps = [ 141 ":security_component_common", 142 ":security_component_service.rc", 143 "${sec_comp_root_dir}/frameworks:security_component_framework_src_set", 144 ] 145 146 configs = [ "${sec_comp_root_dir}/config:coverage_flags" ] 147 public_configs = [ ":security_component_service_config" ] 148 149 external_deps = [ 150 "ability_base:base", 151 "ability_base:session_info", 152 "ability_base:want", 153 "ability_base:zuri", 154 "ability_runtime:ability_manager", 155 "ability_runtime:app_manager", 156 "ability_runtime:runtime", 157 "access_token:libaccesstoken_sdk", 158 "bundle_framework:appexecfwk_base", 159 "bundle_framework:appexecfwk_core", 160 "c_utils:utils", 161 "data_share:datashare_consumer", 162 "eventhandler:libeventhandler", 163 "graphic_2d:librender_service_client", 164 "hilog:libhilog", 165 "hisysevent:libhisysevent", 166 "hitrace:hitrace_meter", 167 "ipc:ipc_core", 168 "safwk:system_ability_fwk", 169 "samgr:samgr_proxy", 170 "window_manager:libdm", 171 "window_manager:libwm", 172 ] 173} 174 175ohos_shared_library("security_component_service") { 176 subsystem_name = "security" 177 part_name = "security_component_manager" 178 sanitize = { 179 cfi = true 180 cfi_cross_dso = true 181 debug = false 182 } 183 branch_protector_ret = "pac_ret" 184 185 deps = [ 186 ":security_component_common", 187 ":security_component_service.rc", 188 ":security_component_service_src_set", 189 "${sec_comp_root_dir}/frameworks:security_component_framework_src_set", 190 ] 191 external_deps = [ "hilog:libhilog" ] 192 configs = [ "${sec_comp_root_dir}/config:coverage_flags" ] 193} 194