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")
15import("../../../dlp_permission_service.gni")
16
17config("dlp_permission_config") {
18  visibility = [ ":*" ]
19  include_dirs = [
20    "include",
21    "${dlp_root_dir}/frameworks/common/include",
22  ]
23}
24
25ohos_shared_library("libdlp_permission_common_interface") {
26  branch_protector_ret = "pac_ret"
27
28  sanitize = {
29    cfi = true
30    cfi_cross_dso = true
31    debug = false
32  }
33
34  subsystem_name = "security"
35  innerapi_tags = [ "platformsdk" ]
36  part_name = "dlp_permission_service"
37  output_name = "libdlp_permission_common_interface"
38
39  public_configs = [ ":dlp_permission_config" ]
40
41  if (dlp_file_version_inner) {
42    cflags_cc = [ "-DDLP_FILE_VERSION_INNER" ]
43    cflags = [ "-DDLP_FILE_VERSION_INNER" ]
44  }
45
46  include_dirs = [
47    "include",
48    "${dlp_root_dir}/frameworks/common/include",
49    "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include",
50  ]
51
52  sources = [ "src/dlp_permission_public_interface.cpp" ]
53
54  configs = [ "${dlp_root_dir}/config:coverage_flags" ]
55
56  external_deps = [ "json:nlohmann_json_static" ]
57}
58
59ohos_shared_library("libdlp_permission_sdk") {
60  branch_protector_ret = "pac_ret"
61
62  sanitize = {
63    cfi = true
64    cfi_cross_dso = true
65    debug = false
66  }
67
68  subsystem_name = "security"
69  part_name = "dlp_permission_service"
70  output_name = "libdlp_permission_sdk"
71
72  public_configs = [ ":dlp_permission_config" ]
73
74  include_dirs = [
75    "include",
76    "${dlp_root_dir}/frameworks/common/include",
77    "${dlp_root_dir}/frameworks/dlp_permission/include",
78    "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include",
79  ]
80
81  sources = [
82    "${dlp_root_dir}/frameworks/common/src/cert_parcel.cpp",
83    "${dlp_root_dir}/frameworks/common/src/permission_policy.cpp",
84    "${dlp_root_dir}/frameworks/common/src/retention_sandbox_info.cpp",
85    "${dlp_root_dir}/frameworks/common/src/visited_dlp_file_info.cpp",
86    "${dlp_root_dir}/frameworks/dlp_permission/src/auth_user_info_parcel.cpp",
87    "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_permission_info_parcel.cpp",
88    "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_policy_parcel.cpp",
89    "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_sandbox_callback_info_parcel.cpp",
90    "${dlp_root_dir}/frameworks/dlp_permission/src/open_dlp_file_callback_info_parcel.cpp",
91    "src/dlp_permission_async_stub.cpp",
92    "src/dlp_permission_client.cpp",
93    "src/dlp_permission_death_recipient.cpp",
94    "src/dlp_permission_kit.cpp",
95    "src/dlp_permission_load_callback.cpp",
96    "src/dlp_permission_proxy.cpp",
97    "src/dlp_sandbox_change_callback.cpp",
98    "src/dlp_sandbox_change_callback_customize.cpp",
99    "src/dlp_sandbox_change_callback_stub.cpp",
100    "src/open_dlp_file_callback.cpp",
101    "src/open_dlp_file_callback_customize.cpp",
102    "src/open_dlp_file_callback_stub.cpp",
103  ]
104
105  configs = [ "${dlp_root_dir}/config:coverage_flags" ]
106
107  external_deps = [
108    "ability_base:want",
109    "access_token:libaccesstoken_sdk",
110    "access_token:libtokensetproc_shared",
111    "c_utils:utils",
112    "hilog:libhilog",
113    "ipc:ipc_core",
114    "os_account:os_account_innerkits",
115    "samgr:samgr_proxy",
116  ]
117
118  cflags_cc = [ "-DHILOG_ENABLE" ]
119}
120