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