• 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")
16import("//foundation/distributeddatamgr/relational_store/relational_store.gni")
17
18config("ability_config") {
19  visibility = [ ":*" ]
20  include_dirs = [
21    "common/include",
22    "consumer/include",
23    "provider/include",
24    "${ability_runtime_services_path}/common/include",
25    "${datashare_native_consumer_path}/include",
26    "${datashare_native_provider_path}/include",
27    "${datashare_native_proxy_path}/include",
28    "${ability_runtime_napi_path}/inner/napi_common",
29  ]
30
31  cflags = []
32  if (target_cpu == "arm") {
33    cflags += [ "-DBINDER_IPC_32BIT" ]
34  }
35}
36
37config("datashare_public_config") {
38  visibility = [ ":*" ]
39  include_dirs = [
40    "common/include",
41    "consumer/include",
42    "provider/include",
43    "${datashare_common_native_path}/include",
44    "${datashare_native_consumer_path}/controller/common",
45    "${datashare_native_consumer_path}/controller/provider/include",
46    "${datashare_native_consumer_path}/controller/service/include",
47    "${datashare_native_consumer_path}/include",
48    "${datashare_native_provider_path}/include",
49    "${datashare_native_proxy_path}/include",
50    "${kvstore_common_path}",
51    "${ability_runtime_inner_api_path}/dataobs_manager/include",
52  ]
53}
54
55datashare_consumer_sources = [
56  "${datashare_common_native_path}/src/datashare_string_utils.cpp",
57  "${datashare_native_consumer_path}/controller/provider/src/ext_special_controller.cpp",
58  "${datashare_native_consumer_path}/controller/provider/src/general_controller_provider_impl.cpp",
59  "${datashare_native_consumer_path}/controller/service/src/general_controller_service_impl.cpp",
60  "${datashare_native_consumer_path}/controller/service/src/persistent_data_controller.cpp",
61  "${datashare_native_consumer_path}/controller/service/src/published_data_controller.cpp",
62  "${datashare_native_consumer_path}/src/datashare_connection.cpp",
63  "${datashare_native_consumer_path}/src/datashare_helper.cpp",
64  "${datashare_native_consumer_path}/src/datashare_helper_impl.cpp",
65  "${datashare_native_consumer_path}/src/datashare_proxy.cpp",
66  "${datashare_native_proxy_path}/src/ams_mgr_proxy.cpp",
67  "${datashare_native_proxy_path}/src/data_proxy_observer_stub.cpp",
68  "${datashare_native_proxy_path}/src/data_share_manager_impl.cpp",
69  "${datashare_native_proxy_path}/src/data_share_service_proxy.cpp",
70  "${datashare_native_proxy_path}/src/idata_share_client_death_observer.cpp",
71  "${datashare_native_proxy_path}/src/published_data_subscriber_manager.cpp",
72  "${datashare_native_proxy_path}/src/rdb_subscriber_manager.cpp",
73]
74
75datashare_consumer_external_deps = [
76  "ability_base:want",
77  "ability_base:zuri",
78  "ability_runtime:app_context",
79  "ability_runtime:dataobs_manager",
80  "ability_runtime:extension_manager",
81  "c_utils:utils",
82  "common_event_service:cesfwk_innerkits",
83  "hilog:libhilog",
84  "ipc:ipc_js",
85  "ipc:ipc_single",
86  "samgr:samgr_proxy",
87]
88
89ohos_shared_library("datashare_consumer") {
90  branch_protector_ret = "pac_ret"
91  sanitize = {
92    cfi = true
93    cfi_cross_dso = true
94    debug = false
95  }
96  include_dirs = [
97    "${kvstore_base_path}/frameworks/common",
98    "${kvstore_base_path}/interfaces/innerkits/distributeddata/include",
99  ]
100
101  sources = datashare_consumer_sources
102  configs = [ ":ability_config" ]
103  public_configs = [ ":datashare_public_config" ]
104  version_script = "consumer/libdatashare_consumer.map"
105  innerapi_tags = [
106    "platformsdk",
107    "sasdk",
108  ]
109  deps = [ "${datashare_innerapi_path}/common:datashare_common" ]
110
111  external_deps = datashare_consumer_external_deps
112
113  subsystem_name = "distributeddatamgr"
114  part_name = "data_share"
115}
116
117ohos_shared_library("datashare_provider") {
118  branch_protector_ret = "pac_ret"
119  sanitize = {
120    cfi = true
121    cfi_cross_dso = true
122    debug = false
123  }
124  include_dirs = [
125    "${datashare_common_napi_path}/include",
126    "${kvstore_common_path}",
127  ]
128
129  sources = [
130    "${datashare_native_provider_path}/src/datashare_ext_ability.cpp",
131    "${datashare_native_provider_path}/src/datashare_ext_ability_context.cpp",
132    "${datashare_native_provider_path}/src/datashare_stub.cpp",
133    "${datashare_native_provider_path}/src/datashare_stub_impl.cpp",
134    "${datashare_native_provider_path}/src/datashare_uv_queue.cpp",
135    "${datashare_native_provider_path}/src/js_datashare_ext_ability.cpp",
136    "${datashare_native_provider_path}/src/js_datashare_ext_ability_context.cpp",
137  ]
138  configs = [ ":ability_config" ]
139  public_configs = [ ":datashare_public_config" ]
140  version_script = "provider/libdatashare_provider.map"
141  innerapi_tags = [ "platformsdk" ]
142  deps = [
143    "${datashare_innerapi_path}/common:datashare_common",
144    "${datashare_napi_path}/dataShare:datashare_jscommon",
145  ]
146
147  external_deps = [
148    "ability_base:want",
149    "ability_base:zuri",
150    "ability_runtime:ability_context_native",
151    "ability_runtime:abilitykit_native",
152    "ability_runtime:app_context",
153    "ability_runtime:dataobs_manager",
154    "ability_runtime:runtime",
155    "access_token:libaccesstoken_sdk",
156    "c_utils:utils",
157    "common_event_service:cesfwk_innerkits",
158    "hilog:libhilog",
159    "ipc:ipc_js",
160    "ipc:ipc_single",
161    "napi:ace_napi",
162    "samgr:samgr_proxy",
163  ]
164
165  subsystem_name = "distributeddatamgr"
166  part_name = "data_share"
167}
168
169ohos_shared_library("datashare_ext_ability_module") {
170  branch_protector_ret = "pac_ret"
171  sanitize = {
172    cfi = true
173    cfi_cross_dso = true
174    debug = false
175  }
176  include_dirs = [ "${datashare_native_provider_path}/include" ]
177
178  sources = [ "${datashare_native_provider_path}/src/datashare_ext_ability_module_loader.cpp" ]
179
180  configs = [ ":ability_config" ]
181  public_configs = [ ":datashare_public_config" ]
182
183  deps = [ ":datashare_provider" ]
184
185  external_deps = [
186    "ability_base:want",
187    "ability_runtime:abilitykit_native",
188    "ability_runtime:runtime",
189    "c_utils:utils",
190    "common_event_service:cesfwk_innerkits",
191    "hilog:libhilog",
192    "napi:ace_napi",
193  ]
194
195  relative_install_dir = "extensionability/"
196  subsystem_name = "distributeddatamgr"
197  part_name = "data_share"
198}
199
200ohos_static_library("datashare_consumer_static") {
201  branch_protector_ret = "pac_ret"
202  sanitize = {
203    cfi = true
204    cfi_cross_dso = true
205    debug = false
206  }
207  include_dirs = [
208    "${kvstore_base_path}/frameworks/common",
209    "${kvstore_base_path}/interfaces/innerkits/distributeddata/include",
210  ]
211
212  sources = datashare_consumer_sources
213  configs = [ ":ability_config" ]
214  public_configs = [ ":datashare_public_config" ]
215  deps = [ "${datashare_innerapi_path}/common:datashare_common_static" ]
216
217  external_deps = datashare_consumer_external_deps
218
219  subsystem_name = "distributeddatamgr"
220  part_name = "data_share"
221}
222