• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022 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("//foundation/distributeddatamgr/data_share/datashare.gni")
16
17config("ability_config") {
18  visibility = [ ":*" ]
19  include_dirs = [
20    "common/include",
21    "consumer/include",
22    "provider/include",
23    "${datashare_native_consumer_path}/include",
24    "${datashare_native_provider_path}/include",
25    "${datashare_native_proxy_path}/include",
26  ]
27
28  cflags = []
29  if (target_cpu == "arm") {
30    cflags += [ "-DBINDER_IPC_32BIT" ]
31  }
32}
33
34config("datashare_public_config") {
35  visibility = [ ":*" ]
36  include_dirs = [
37    "common/include",
38    "consumer/include",
39    "provider/include",
40    "${datashare_common_native_path}/include",
41    "${datashare_native_consumer_path}/controller/common",
42    "${datashare_native_consumer_path}/controller/provider/include",
43    "${datashare_native_consumer_path}/controller/service/include",
44    "${datashare_native_consumer_path}/include",
45    "${datashare_native_provider_path}/include",
46    "${datashare_native_proxy_path}/include",
47  ]
48}
49
50datashare_consumer_sources = [
51  "${datashare_common_native_path}/src/call_reporter.cpp",
52  "${datashare_common_native_path}/src/datashare_string_utils.cpp",
53  "${datashare_common_native_path}/src/datashare_uri_utils.cpp",
54  "${datashare_native_consumer_path}/controller/provider/src/ext_special_controller.cpp",
55  "${datashare_native_consumer_path}/controller/provider/src/general_controller_provider_impl.cpp",
56  "${datashare_native_consumer_path}/controller/service/src/general_controller_service_impl.cpp",
57  "${datashare_native_consumer_path}/controller/service/src/persistent_data_controller.cpp",
58  "${datashare_native_consumer_path}/controller/service/src/published_data_controller.cpp",
59  "${datashare_native_consumer_path}/src/datashare_connection.cpp",
60  "${datashare_native_consumer_path}/src/datashare_helper.cpp",
61  "${datashare_native_consumer_path}/src/datashare_helper_impl.cpp",
62  "${datashare_native_consumer_path}/src/dataproxy_handle.cpp",
63  "${datashare_native_consumer_path}/src/datashare_proxy.cpp",
64  "${datashare_native_proxy_path}/src/ams_mgr_proxy.cpp",
65  "${datashare_native_proxy_path}/src/data_proxy_observer_stub.cpp",
66  "${datashare_native_proxy_path}/src/data_share_manager_impl.cpp",
67  "${datashare_native_proxy_path}/src/data_share_service_proxy.cpp",
68  "${datashare_native_proxy_path}/src/idata_share_client_death_observer.cpp",
69  "${datashare_native_proxy_path}/src/published_data_subscriber_manager.cpp",
70  "${datashare_native_proxy_path}/src/rdb_subscriber_manager.cpp",
71  "${datashare_native_proxy_path}/src/proxy_data_subscriber_manager.cpp",
72]
73
74datashare_consumer_external_deps = [
75  "ability_base:want",
76  "ability_base:zuri",
77  "ability_runtime:app_context",
78  "ability_runtime:extension_manager",
79  "c_utils:utils",
80  "common_event_service:cesfwk_innerkits",
81  "hilog:libhilog",
82  "hisysevent:libhisysevent",
83  "hitrace:hitrace_meter",
84  "hitrace:libhitracechain",
85  "ipc:ipc_single",
86  "ipc:rpc",
87  "samgr:samgr_proxy",
88]
89
90config("permission_config") {
91  visibility = [ ":*" ]
92  include_dirs = [
93    "common/include",
94    "dfx/include",
95    "permission/include",
96    "${datashare_common_native_path}/include",
97    "${datashare_native_permission_path}/include",
98  ]
99}
100
101config("permission_public_config") {
102  visibility = [ ":*" ]
103  include_dirs = [
104    "common/include",
105    "permission/include",
106  ]
107}
108
109ohos_shared_library("datashare_consumer") {
110  branch_protector_ret = "pac_ret"
111  sanitize = {
112    ubsan = true
113    boundary_sanitize = true
114    cfi = true
115    cfi_cross_dso = true
116    debug = false
117  }
118  include_dirs = [ "${datashare_common_native_path}/include" ]
119
120  sources = datashare_consumer_sources
121  configs = [ ":ability_config" ]
122  public_configs = [ ":datashare_public_config" ]
123  version_script = "consumer/libdatashare_consumer.map"
124  innerapi_tags = [
125    "platformsdk",
126    "sasdk",
127  ]
128  deps = [ "${datashare_innerapi_path}/common:datashare_common" ]
129
130  external_deps = datashare_consumer_external_deps
131  external_deps += [ "ability_runtime:ability_connect_callback_stub" ]
132
133  public_external_deps = [
134    "ability_runtime:dataobs_manager",
135    "kv_store:distributeddata_inner",
136  ]
137
138  subsystem_name = "distributeddatamgr"
139  part_name = "data_share"
140}
141
142ohos_shared_library("datashare_permission") {
143  branch_protector_ret = "pac_ret"
144  sanitize = {
145    ubsan = true
146    boundary_sanitize = true
147    cfi = true
148    cfi_cross_dso = true
149    debug = false
150  }
151  include_dirs = [ "${datashare_native_dfx_path}/include" ]
152
153  sources = [
154    "${datashare_common_native_path}/src/datashare_string_utils.cpp",
155    "${datashare_common_native_path}/src/serializable.cpp",
156    "${datashare_native_permission_path}/src/data_share_called_config.cpp",
157    "${datashare_native_permission_path}/src/data_share_permission.cpp",
158    "${datashare_native_permission_path}/src/data_share_config.cpp",
159    "${datashare_native_dfx_path}/src/hiview_datashare.cpp",
160  ]
161  configs = [ ":permission_config" ]
162  public_configs = [ ":permission_public_config" ]
163  version_script = "permission/libdatashare_permission.map"
164  innerapi_tags = [ "platformsdk" ]
165  deps = [ "${datashare_innerapi_path}/common:datashare_common" ]
166
167  external_deps = [
168    "ability_base:zuri",
169    "ability_runtime:app_context",
170    "ability_runtime:runtime",
171    "access_token:libaccesstoken_sdk",
172    "bundle_framework:appexecfwk_base",
173    "bundle_framework:appexecfwk_core",
174    "bundle_framework:libappexecfwk_common",
175    "c_utils:utils",
176    "common_event_service:cesfwk_innerkits",
177    "hisysevent:libhisysevent",
178    "kv_store:distributeddata_inner",
179    "hilog:libhilog",
180    "ipc:ipc_single",
181    "samgr:samgr_proxy",
182  ]
183
184  subsystem_name = "distributeddatamgr"
185  part_name = "data_share"
186}
187
188ohos_shared_library("datashare_provider") {
189  branch_protector_ret = "pac_ret"
190  sanitize = {
191    ubsan = true
192    boundary_sanitize = true
193    cfi = true
194    cfi_cross_dso = true
195    debug = false
196  }
197  include_dirs = [
198    "${datashare_common_napi_path}/include",
199    "${datashare_native_dfx_path}/include",
200    "${datashare_native_permission_path}/include",
201  ]
202
203  sources = [
204    "${datashare_common_native_path}/src/datashare_string_utils.cpp",
205    "${datashare_common_native_path}/src/serializable.cpp",
206    "${datashare_native_provider_path}/src/datashare_ext_ability.cpp",
207    "${datashare_native_provider_path}/src/datashare_ext_ability_context.cpp",
208    "${datashare_native_provider_path}/src/datashare_stub.cpp",
209    "${datashare_native_provider_path}/src/datashare_stub_impl.cpp",
210    "${datashare_native_provider_path}/src/datashare_uv_queue.cpp",
211    "${datashare_native_provider_path}/src/js_datashare_ext_ability.cpp",
212    "${datashare_native_provider_path}/src/js_datashare_ext_ability_context.cpp",
213    "${datashare_native_permission_path}/src/data_share_config.cpp",
214    "${datashare_native_dfx_path}/src/hiview_datashare.cpp",
215  ]
216  configs = [ ":ability_config" ]
217  public_configs = [ ":datashare_public_config" ]
218  version_script = "provider/libdatashare_provider.map"
219  innerapi_tags = [ "platformsdk" ]
220  deps = [
221    "${datashare_innerapi_path}/common:datashare_common",
222    "${datashare_napi_path}/dataShare:datashare_jscommon",
223  ]
224
225  external_deps = [
226    "ability_base:want",
227    "ability_base:zuri",
228    "ability_runtime:ability_connect_callback_stub",
229    "ability_runtime:ability_context_native",
230    "ability_runtime:abilitykit_native",
231    "ability_runtime:app_context",
232    "ability_runtime:extensionkit_native",
233    "ability_runtime:napi_common",
234    "ability_runtime:runtime",
235    "access_token:libaccesstoken_sdk",
236    "c_utils:utils",
237    "common_event_service:cesfwk_innerkits",
238    "hilog:libhilog",
239    "hisysevent:libhisysevent",
240    "ipc:ipc_napi",
241    "ipc:ipc_single",
242    "kv_store:distributeddata_inner",
243    "napi:ace_napi",
244    "samgr:samgr_proxy",
245  ]
246
247  public_external_deps = [ "ability_runtime:dataobs_manager" ]
248
249  subsystem_name = "distributeddatamgr"
250  part_name = "data_share"
251}
252
253ohos_shared_library("datashare_ext_ability_module") {
254  branch_protector_ret = "pac_ret"
255  sanitize = {
256    ubsan = true
257    boundary_sanitize = true
258    cfi = true
259    cfi_cross_dso = true
260    debug = false
261  }
262  include_dirs = [ "${datashare_native_provider_path}/include" ]
263
264  sources = [ "${datashare_native_provider_path}/src/datashare_ext_ability_module_loader.cpp" ]
265
266  configs = [ ":ability_config" ]
267  public_configs = [ ":datashare_public_config" ]
268
269  deps = [ ":datashare_provider" ]
270
271  external_deps = [
272    "ability_base:want",
273    "ability_runtime:abilitykit_native",
274    "ability_runtime:runtime",
275    "c_utils:utils",
276    "common_event_service:cesfwk_innerkits",
277    "hilog:libhilog",
278    "ipc:ipc_napi",
279    "ipc:ipc_single",
280    "napi:ace_napi",
281  ]
282
283  relative_install_dir = "extensionability/"
284  subsystem_name = "distributeddatamgr"
285  part_name = "data_share"
286}
287
288ohos_static_library("datashare_consumer_static") {
289  branch_protector_ret = "pac_ret"
290  sanitize = {
291    ubsan = true
292    boundary_sanitize = true
293    cfi = true
294    cfi_cross_dso = true
295    debug = false
296  }
297  include_dirs = [ "${datashare_common_native_path}/include" ]
298
299  sources = datashare_consumer_sources
300  configs = [ ":ability_config" ]
301  public_configs = [ ":datashare_public_config" ]
302  deps = [ "${datashare_innerapi_path}/common:datashare_common_static" ]
303
304  external_deps = datashare_consumer_external_deps
305
306  public_external_deps = [ "kv_store:distributeddata_inner" ]
307
308  subsystem_name = "distributeddatamgr"
309  part_name = "data_share"
310}
311