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/config/components/idl_tool/idl.gni") 15import("//build/ohos.gni") 16import("../../../dlp_permission_service.gni") 17 18idl_gen_interface("dlp_permission_interface") { 19 src_idl = rebase_path("IDlpPermissionService.idl") 20 log_domainid = "0xD005A04" 21 log_tag = "DlpPermissionService" 22} 23 24config("dlp_permission_config") { 25 visibility = [ ":*" ] 26 include_dirs = [ 27 "include", 28 "${dlp_root_dir}/frameworks/common/include", 29 ] 30} 31 32config("dlp_permission_sdk_config") { 33 include_dirs = [ 34 "${dlp_root_dir}/frameworks/dlp_permission/include", 35 "${target_gen_dir}", 36 ] 37} 38 39ohos_shared_library("libdlp_permission_common_interface") { 40 branch_protector_ret = "pac_ret" 41 42 sanitize = { 43 integer_overflow = true 44 cfi = true 45 cfi_cross_dso = true 46 debug = false 47 } 48 49 subsystem_name = "security" 50 innerapi_tags = [ "platformsdk" ] 51 part_name = "dlp_permission_service" 52 output_name = "libdlp_permission_common_interface" 53 54 public_configs = [ ":dlp_permission_config" ] 55 56 if (dlp_file_version_inner) { 57 cflags_cc = [ "-DDLP_FILE_VERSION_INNER" ] 58 cflags = [ "-DDLP_FILE_VERSION_INNER" ] 59 } 60 61 include_dirs = [ 62 "include", 63 "${dlp_root_dir}/frameworks/common/include", 64 "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include", 65 ] 66 67 sources = [ "src/dlp_permission_public_interface.cpp" ] 68 69 configs = [ 70 ":dlp_permission_sdk_config", 71 "${dlp_root_dir}/config:coverage_flags", 72 ] 73 74 external_deps = [ "json:nlohmann_json_static" ] 75} 76 77ohos_shared_library("libdlp_permission_sdk") { 78 branch_protector_ret = "pac_ret" 79 80 sanitize = { 81 integer_overflow = true 82 cfi = true 83 cfi_cross_dso = true 84 debug = false 85 } 86 87 subsystem_name = "security" 88 part_name = "dlp_permission_service" 89 output_name = "libdlp_permission_sdk" 90 91 public_configs = [ 92 ":dlp_permission_config", 93 ":dlp_permission_sdk_config", 94 ] 95 96 include_dirs = [ 97 "include", 98 "${dlp_root_dir}/frameworks/common/include", 99 "${dlp_root_dir}/frameworks/dlp_permission/include", 100 "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include", 101 ] 102 103 sources = [ 104 "${dlp_root_dir}/frameworks/common/src/cert_parcel.cpp", 105 "${dlp_root_dir}/frameworks/common/src/permission_policy.cpp", 106 "${dlp_root_dir}/frameworks/common/src/retention_sandbox_info.cpp", 107 "${dlp_root_dir}/frameworks/common/src/visited_dlp_file_info.cpp", 108 "${dlp_root_dir}/frameworks/dlp_permission/src/auth_user_info_parcel.cpp", 109 "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_permission_info_parcel.cpp", 110 "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_policy_parcel.cpp", 111 "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_sandbox_callback_info_parcel.cpp", 112 "${dlp_root_dir}/frameworks/dlp_permission/src/open_dlp_file_callback_info_parcel.cpp", 113 "src/dlp_permission_async_stub.cpp", 114 "src/dlp_permission_client.cpp", 115 "src/dlp_permission_death_recipient.cpp", 116 "src/dlp_permission_kit.cpp", 117 "src/dlp_sandbox_change_callback.cpp", 118 "src/dlp_sandbox_change_callback_customize.cpp", 119 "src/dlp_sandbox_change_callback_stub.cpp", 120 "src/open_dlp_file_callback.cpp", 121 "src/open_dlp_file_callback_customize.cpp", 122 "src/open_dlp_file_callback_stub.cpp", 123 ] 124 125 configs = [ "${dlp_root_dir}/config:coverage_flags" ] 126 127 deps = [ 128 ":dlp_permission_interface", 129 "${dlp_permission_public_config_path}/:dlp_permission_stub", 130 ] 131 132 external_deps = [ 133 "ability_base:want", 134 "access_token:libaccesstoken_sdk", 135 "access_token:libtokensetproc_shared", 136 "c_utils:utils", 137 "hilog:libhilog", 138 "init:libbegetutil", 139 "ipc:ipc_core", 140 "json:nlohmann_json_static", 141 "os_account:os_account_innerkits", 142 "samgr:samgr_proxy", 143 ] 144 145 cflags_cc = [ "-DHILOG_ENABLE" ] 146} 147 148ohos_source_set("dlp_permission_stub") { 149 branch_protector_ret = "pac_ret" 150 151 sanitize = { 152 cfi = true 153 cfi_cross_dso = true 154 debug = false 155 } 156 public_configs = [ 157 ":dlp_permission_config", 158 ":dlp_permission_sdk_config", 159 ] 160 output_values = get_target_outputs(":dlp_permission_interface") 161 sources = filter_include(output_values, [ "*_stub.cpp" ]) 162 sources += filter_include(output_values, [ "*_proxy.cpp" ]) 163 deps = [ ":dlp_permission_interface" ] 164 external_deps = [ 165 "ability_base:want", 166 "c_utils:utils", 167 "hilog:libhilog", 168 "ipc:ipc_single", 169 "samgr:samgr_proxy", 170 ] 171 subsystem_name = "security" 172 part_name = "dlp_permission_service" 173} 174