1# Copyright (c) 2023 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("../../../dlp_permission_service.gni") 16 17ohos_prebuilt_etc("dlp_permission_service.rc") { 18 source = "dlp_permission_service.cfg" 19 relative_install_dir = "init" 20 subsystem_name = "security" 21 part_name = "dlp_permission_service" 22} 23 24ohos_static_library("dlp_hex_string_static") { 25 branch_protector_ret = "pac_ret" 26 27 sanitize = { 28 cfi = true 29 cfi_cross_dso = true 30 debug = false 31 } 32 33 subsystem_name = "security" 34 part_name = "dlp_permission_service" 35 36 include_dirs = [ 37 "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include", 38 "${dlp_root_dir}/frameworks/common/include", 39 ] 40 41 sources = [ "${dlp_root_dir}/frameworks/common/src/hex_string.cpp" ] 42 43 configs = [ "${dlp_root_dir}/config:coverage_flags" ] 44 45 cflags_cc = [ "-DHILOG_ENABLE" ] 46 47 external_deps = [ "hilog:libhilog" ] 48} 49 50ohos_static_library("dlp_permission_serializer_static") { 51 branch_protector_ret = "pac_ret" 52 53 sanitize = { 54 cfi = true 55 cfi_cross_dso = true 56 debug = false 57 } 58 59 subsystem_name = "security" 60 part_name = "dlp_permission_service" 61 62 include_dirs = [ 63 "mock", 64 "sa_common", 65 "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include", 66 "${dlp_root_dir}/frameworks/common/include", 67 "${dlp_root_dir}/frameworks/dlp_permission/include", 68 ] 69 70 sources = [ "sa_common/dlp_permission_serializer.cpp" ] 71 72 cflags_cc = [ "-DHILOG_ENABLE" ] 73 74 configs = [ 75 "${dlp_permission_public_config_path}/:dlp_permission_sdk_config", 76 "${dlp_root_dir}/config:coverage_flags", 77 ] 78 79 deps = [ ":dlp_hex_string_static" ] 80 81 external_deps = [ 82 "c_utils:utils", 83 "hilog:libhilog", 84 "json:nlohmann_json_static", 85 "os_account:domain_account_innerkits", 86 "os_account:os_account_innerkits", 87 ] 88} 89 90ohos_shared_library("dlp_permission_service") { 91 branch_protector_ret = "pac_ret" 92 93 sanitize = { 94 integer_overflow = true 95 cfi = true 96 cfi_cross_dso = true 97 debug = false 98 } 99 100 subsystem_name = "security" 101 part_name = "dlp_permission_service" 102 103 include_dirs = [ 104 "adapt_utils/account_adapt", 105 "adapt_utils/alg_adapt/alg_manager/include", 106 "adapt_utils/alg_adapt/huks_adapt_manager/include", 107 "adapt_utils/app_observer", 108 "adapt_utils/file_manager", 109 "callback/dlp_sandbox_change_callback", 110 "callback/open_dlp_file_callback", 111 "mock", 112 "sa_main", 113 "sa_common", 114 "storage/include", 115 "${dlp_root_dir}/frameworks/common/include", 116 "${dlp_root_dir}/frameworks/dlp_permission/include", 117 "${dlp_root_dir}/interfaces/inner_api/dlp_parse/include", 118 "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include", 119 ] 120 121 sources = [ 122 "${dlp_root_dir}/frameworks/common/src/cert_parcel.cpp", 123 "${dlp_root_dir}/frameworks/common/src/permission_policy.cpp", 124 "${dlp_root_dir}/frameworks/common/src/retention_sandbox_info.cpp", 125 "${dlp_root_dir}/frameworks/common/src/visited_dlp_file_info.cpp", 126 "${dlp_root_dir}/frameworks/dlp_permission/src/auth_user_info_parcel.cpp", 127 "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_permission_info_parcel.cpp", 128 "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_policy_parcel.cpp", 129 "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_sandbox_callback_info_parcel.cpp", 130 "${dlp_root_dir}/frameworks/dlp_permission/src/open_dlp_file_callback_info_parcel.cpp", 131 "adapt_utils/alg_adapt/alg_manager/src/alg_manager.cpp", 132 "adapt_utils/alg_adapt/alg_manager/src/alg_utils.cpp", 133 "adapt_utils/alg_adapt/huks_adapt_manager/src/huks_adapt_manager.cpp", 134 "adapt_utils/account_adapt/account_adapt.cpp", 135 "adapt_utils/app_observer/app_state_observer.cpp", 136 "adapt_utils/app_observer/app_uninstall_observer.cpp", 137 "adapt_utils/file_manager/file_operator.cpp", 138 "adapt_utils/file_manager/retention_file_manager.cpp", 139 "adapt_utils/file_manager/sandbox_json_manager.cpp", 140 "adapt_utils/file_manager/visit_record_file_manager.cpp", 141 "adapt_utils/file_manager/visit_record_json_manager.cpp", 142 "callback/dlp_sandbox_change_callback/dlp_sandbox_change_callback_death_recipient.cpp", 143 "callback/dlp_sandbox_change_callback/dlp_sandbox_change_callback_manager.cpp", 144 "callback/dlp_sandbox_change_callback/dlp_sandbox_change_callback_proxy.cpp", 145 "callback/open_dlp_file_callback/open_dlp_file_callback_death_recipient.cpp", 146 "callback/open_dlp_file_callback/open_dlp_file_callback_manager.cpp", 147 "callback/open_dlp_file_callback/open_dlp_file_callback_proxy.cpp", 148 "mock/dlp_credential_service.c", 149 "mock/mock_utils.cpp", 150 "sa_common/access_token_adapter.cpp", 151 "sa_common/bundle_manager_adapter.cpp", 152 "sa_common/dlp_common_func.cpp", 153 "sa_common/dlp_feature_info.cpp", 154 "sa_common/permission_manager_adapter.cpp", 155 "sa_main/dlp_credential.cpp", 156 "sa_main/dlp_permission_async_proxy.cpp", 157 "sa_main/dlp_permission_service.cpp", 158 "storage/src/dlp_kv_data_storage.cpp", 159 "storage/src/sandbox_config_kv_data_storage.cpp", 160 ] 161 162 cflags_cc = [ "-DHILOG_ENABLE" ] 163 cflags = [ "-DHILOG_ENABLE" ] 164 165 if (build_variant == "user") { 166 cflags_cc += [ "-DDLP_DEBUG_ENABLE=0" ] 167 cflags += [ "-DDLP_DEBUG_ENABLE=0" ] 168 } else if (build_variant == "root") { 169 cflags_cc += [ "-DDLP_DEBUG_ENABLE=1" ] 170 cflags += [ "-DDLP_DEBUG_ENABLE=1" ] 171 } else { 172 cflags_cc += [ "-DDLP_DEBUG_ENABLE=1" ] 173 cflags += [ "-DDLP_DEBUG_ENABLE=1" ] 174 } 175 176 if (dlp_permission_service_gathering_policy) { 177 cflags_cc += [ "-DDLP_GATHERING_SANDBOX" ] 178 cflags += [ "-DDLP_GATHERING_SANDBOX" ] 179 } 180 181 deps = [ 182 ":dlp_hex_string_static", 183 ":dlp_permission_serializer_static", 184 ":dlp_permission_service.rc", 185 "${dlp_permission_public_config_path}/:dlp_permission_stub", 186 ] 187 188 deps += [ "etc:param_files" ] 189 190 configs = [ "${dlp_root_dir}/config:coverage_flags" ] 191 192 external_deps = [ 193 "ability_base:want", 194 "ability_runtime:app_manager", 195 "access_token:libaccesstoken_sdk", 196 "access_token:libtokenid_sdk", 197 "bundle_framework:appexecfwk_base", 198 "bundle_framework:appexecfwk_core", 199 "c_utils:utils", 200 "common_event_service:cesfwk_core", 201 "common_event_service:cesfwk_innerkits", 202 "config_policy:configpolicy_util", 203 "hilog:libhilog", 204 "hisysevent:libhisysevent", 205 "huks:libhukssdk", 206 "init:libbegetutil", 207 "ipc:ipc_core", 208 "json:nlohmann_json_static", 209 "kv_store:distributeddata_inner", 210 "os_account:domain_account_innerkits", 211 "os_account:libaccountkits", 212 "os_account:os_account_innerkits", 213 "safwk:system_ability_fwk", 214 "samgr:samgr_proxy", 215 ] 216 217 if (dlp_credential_enable == true) { 218 cflags_cc += [ "-DSUPPORT_DLP_CREDENTIAL" ] 219 } 220} 221