• 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/ohos.gni")
15import("../../../dlp_permission_service.gni")
16
17ROOT_DIR = "${dlp_root_dir}/interfaces/inner_api/dlp_parse"
18
19config("dlpparse_public_config") {
20  visibility = [ ":*" ]
21  include_dirs = [
22    "${dlp_root_dir}/frameworks/common/include",
23    "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include/",
24    "$ROOT_DIR/include",
25  ]
26}
27
28ohos_shared_library("libdlpparse") {
29  branch_protector_ret = "pac_ret"
30
31  sanitize = {
32    integer_overflow = true
33    cfi = true
34    cfi_cross_dso = true
35    debug = false
36  }
37
38  sources = [
39    "$ROOT_DIR/src/dlp_file_kits.cpp",
40    "$ROOT_DIR/src/dlp_utils.cpp",
41    "$ROOT_DIR/src/dlp_zip.cpp",
42    "${dlp_root_dir}/frameworks/common/src/cert_parcel.cpp",
43    "${dlp_root_dir}/frameworks/common/src/permission_policy.cpp",
44    "${dlp_root_dir}/frameworks/common/src/retention_sandbox_info.cpp",
45    "${dlp_root_dir}/frameworks/common/src/visited_dlp_file_info.cpp",
46    "${dlp_root_dir}/frameworks/dlp_permission/src/auth_user_info_parcel.cpp",
47    "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_permission_info_parcel.cpp",
48    "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_policy_parcel.cpp",
49    "${dlp_root_dir}/services/dlp_permission/sa/adapt_utils/file_manager/file_operator.cpp",
50  ]
51
52  include_dirs = [
53    "$ROOT_DIR/include",
54    "${dlp_root_dir}/frameworks/common/include",
55    "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include/",
56    "${dlp_root_dir}/services/dlp_permission/sa/adapt_utils/file_manager/",
57  ]
58
59  deps = [
60    "${dlp_permission_public_config_path}/:dlp_permission_stub",
61    "${dlp_root_dir}/interfaces/inner_api/dlp_permission:libdlp_permission_common_interface",
62  ]
63
64  external_deps = [
65    "ability_base:want",
66    "ability_base:zuri",
67    "app_file_service:fileuri_native",
68    "bundle_framework:appexecfwk_base",
69    "bundle_framework:appexecfwk_core",
70    "c_utils:utils",
71    "hilog:libhilog",
72    "hitrace:hitrace_meter",
73    "ipc:ipc_core",
74    "openssl:libcrypto_shared",
75    "os_account:os_account_innerkits",
76    "samgr:samgr_proxy",
77    "zlib:shared_libz",
78  ]
79
80  cflags_cc = [ "-DHILOG_ENABLE" ]
81  public_configs = [
82    ":dlpparse_public_config",
83    "${dlp_permission_public_config_path}/:dlp_permission_sdk_config",
84  ]
85  configs = [ "${dlp_root_dir}/config:coverage_flags" ]
86
87  part_name = "dlp_permission_service"
88  subsystem_name = "security"
89}
90
91ohos_shared_library("libdlpparse_inner") {
92  branch_protector_ret = "pac_ret"
93
94  sanitize = {
95    integer_overflow = true
96    cfi = true
97    cfi_cross_dso = true
98    debug = false
99  }
100
101  sources = [
102    "$ROOT_DIR/src/dlp_crypt.cpp",
103    "$ROOT_DIR/src/dlp_file.cpp",
104    "$ROOT_DIR/src/dlp_file_kits.cpp",
105    "$ROOT_DIR/src/dlp_file_manager.cpp",
106    "$ROOT_DIR/src/dlp_file_operator.cpp",
107    "$ROOT_DIR/src/dlp_utils.cpp",
108    "$ROOT_DIR/src/dlp_raw_file.cpp",
109    "$ROOT_DIR/src/dlp_zip_file.cpp",
110    "$ROOT_DIR/src/dlp_zip.cpp",
111    "${dlp_root_dir}/services/dlp_permission/sa/adapt_utils/file_manager/file_operator.cpp",
112  ]
113
114  include_dirs = [
115    "$ROOT_DIR/include",
116    "${dlp_root_dir}/frameworks/common/include",
117    "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include/",
118    "${dlp_root_dir}/services/dlp_permission/sa/adapt_utils/file_manager/",
119  ]
120
121  deps = [
122    "${dlp_root_dir}/interfaces/inner_api/dlp_permission:libdlp_permission_common_interface",
123    "${dlp_root_dir}/interfaces/inner_api/dlp_permission:libdlp_permission_sdk",
124    "${dlp_root_dir}/services/dlp_permission/sa:dlp_hex_string_static",
125  ]
126
127  external_deps = [
128    "ability_base:want",
129    "ability_base:zuri",
130    "app_file_service:fileuri_native",
131    "bundle_framework:appexecfwk_base",
132    "bundle_framework:appexecfwk_core",
133    "c_utils:utils",
134    "hilog:libhilog",
135    "hitrace:hitrace_meter",
136    "ipc:ipc_core",
137    "json:nlohmann_json_static",
138    "openssl:libcrypto_shared",
139    "os_account:libaccountkits",
140    "samgr:samgr_proxy",
141    "zlib:shared_libz",
142  ]
143
144  cflags_cc = [ "-DHILOG_ENABLE" ]
145  public_configs = [ ":dlpparse_public_config" ]
146  configs = [ "${dlp_root_dir}/config:coverage_flags" ]
147
148  innerapi_tags = [ "platformsdk" ]
149  part_name = "dlp_permission_service"
150  subsystem_name = "security"
151
152  if (dlp_parse_inner) {
153    cflags_cc += [ "-DDLP_PARSE_INNER" ]
154    external_deps += [ "os_account:os_account_innerkits" ]
155  }
156
157  if (dlp_credential_enable == true) {
158    cflags_cc += [ "-DSUPPORT_DLP_CREDENTIAL" ]
159  }
160}
161