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