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