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 "sa_common", 64 "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include", 65 "${dlp_root_dir}/frameworks/common/include", 66 "${dlp_root_dir}/frameworks/dlp_permission/include", 67 ] 68 69 sources = [ "sa_common/dlp_permission_serializer.cpp" ] 70 71 cflags_cc = [ "-DHILOG_ENABLE" ] 72 73 configs = [ "${dlp_root_dir}/config:coverage_flags" ] 74 75 deps = [ ":dlp_hex_string_static" ] 76 77 external_deps = [ 78 "c_utils:utils", 79 "hilog:libhilog", 80 "json:nlohmann_json_static", 81 "os_account:os_account_innerkits", 82 ] 83 84 if (dlp_credential_enable == true) { 85 external_deps += [ "dlp_credential_service:dlp_credential_sdk" ] 86 } else { 87 include_dirs += [ "mock" ] 88 } 89} 90 91ohos_shared_library("dlp_permission_service") { 92 branch_protector_ret = "pac_ret" 93 94 sanitize = { 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/app_observer", 106 "adapt_utils/file_manager", 107 "callback/dlp_sandbox_change_callback", 108 "callback/open_dlp_file_callback", 109 "sa_main", 110 "sa_common", 111 "storage/include", 112 "${dlp_root_dir}/frameworks/common/include", 113 "${dlp_root_dir}/frameworks/dlp_permission/include", 114 "${dlp_root_dir}/interfaces/inner_api/dlp_parse/include", 115 "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include", 116 ] 117 118 sources = [ 119 "${dlp_root_dir}/frameworks/common/src/cert_parcel.cpp", 120 "${dlp_root_dir}/frameworks/common/src/permission_policy.cpp", 121 "${dlp_root_dir}/frameworks/common/src/retention_sandbox_info.cpp", 122 "${dlp_root_dir}/frameworks/common/src/visited_dlp_file_info.cpp", 123 "${dlp_root_dir}/frameworks/dlp_permission/src/auth_user_info_parcel.cpp", 124 "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_permission_info_parcel.cpp", 125 "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_policy_parcel.cpp", 126 "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_sandbox_callback_info_parcel.cpp", 127 "${dlp_root_dir}/frameworks/dlp_permission/src/open_dlp_file_callback_info_parcel.cpp", 128 "adapt_utils/account_adapt/account_adapt.cpp", 129 "adapt_utils/app_observer/app_state_observer.cpp", 130 "adapt_utils/app_observer/app_uninstall_observer.cpp", 131 "adapt_utils/file_manager/file_operator.cpp", 132 "adapt_utils/file_manager/retention_file_manager.cpp", 133 "adapt_utils/file_manager/sandbox_json_manager.cpp", 134 "adapt_utils/file_manager/visit_record_file_manager.cpp", 135 "adapt_utils/file_manager/visit_record_json_manager.cpp", 136 "callback/dlp_sandbox_change_callback/dlp_sandbox_change_callback_death_recipient.cpp", 137 "callback/dlp_sandbox_change_callback/dlp_sandbox_change_callback_manager.cpp", 138 "callback/dlp_sandbox_change_callback/dlp_sandbox_change_callback_proxy.cpp", 139 "callback/open_dlp_file_callback/open_dlp_file_callback_death_recipient.cpp", 140 "callback/open_dlp_file_callback/open_dlp_file_callback_manager.cpp", 141 "callback/open_dlp_file_callback/open_dlp_file_callback_proxy.cpp", 142 "sa_common/bundle_manager_adapter.cpp", 143 "sa_main/dlp_credential.cpp", 144 "sa_main/dlp_permission_async_proxy.cpp", 145 "sa_main/dlp_permission_service.cpp", 146 "sa_main/dlp_permission_stub.cpp", 147 "storage/src/dlp_kv_data_storage.cpp", 148 "storage/src/sandbox_config_kv_data_storage.cpp", 149 ] 150 151 cflags_cc = [ "-DHILOG_ENABLE" ] 152 cflags = [ "-DHILOG_ENABLE" ] 153 154 if (build_variant == "user") { 155 cflags_cc += [ "-DDLP_DEBUG_ENABLE=0" ] 156 cflags += [ "-DDLP_DEBUG_ENABLE=0" ] 157 } else if (build_variant == "root") { 158 cflags_cc += [ "-DDLP_DEBUG_ENABLE=1" ] 159 cflags += [ "-DDLP_DEBUG_ENABLE=1" ] 160 } else { 161 cflags_cc += [ "-DDLP_DEBUG_ENABLE=1" ] 162 cflags += [ "-DDLP_DEBUG_ENABLE=1" ] 163 } 164 165 if (dlp_permission_service_gathering_policy) { 166 cflags_cc += [ "-DDLP_GATHERING_SANDBOX" ] 167 cflags += [ "-DDLP_GATHERING_SANDBOX" ] 168 } 169 170 deps = [ 171 ":dlp_hex_string_static", 172 ":dlp_permission_serializer_static", 173 ":dlp_permission_service.rc", 174 ] 175 176 deps += [ "etc:param_files" ] 177 178 configs = [ "${dlp_root_dir}/config:coverage_flags" ] 179 180 external_deps = [ 181 "ability_base:want", 182 "ability_runtime:app_manager", 183 "access_token:libaccesstoken_sdk", 184 "bundle_framework:appexecfwk_base", 185 "bundle_framework:appexecfwk_core", 186 "c_utils:utils", 187 "common_event_service:cesfwk_core", 188 "common_event_service:cesfwk_innerkits", 189 "config_policy:configpolicy_util", 190 "hilog:libhilog", 191 "hisysevent:libhisysevent", 192 "init:libbegetutil", 193 "ipc:ipc_core", 194 "json:nlohmann_json_static", 195 "kv_store:distributeddata_inner", 196 "os_account:domain_account_innerkits", 197 "os_account:libaccountkits", 198 "os_account:os_account_innerkits", 199 "safwk:system_ability_fwk", 200 "samgr:samgr_proxy", 201 ] 202 203 if (dlp_credential_enable == true) { 204 cflags_cc += [ "-DSUPPORT_DLP_CREDENTIAL" ] 205 external_deps += [ "dlp_credential_service:dlp_credential_sdk" ] 206 } else { 207 include_dirs += [ "mock" ] 208 sources += [ 209 "mock/dlp_credential_service.c", 210 "mock/mock_utils.cpp", 211 ] 212 } 213} 214