• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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