• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021 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.
13import("//build/ohos.gni")
14
15config("distrdb_config") {
16  visibility = [ ":*" ]
17  include_dirs = [
18    "include",
19    "interfaces/include",
20    "interfaces/src",
21    "interfaces/src/relational",
22    "common/include",
23    "common/include/relational",
24    "communicator/include",
25    "storage/include",
26    "storage/src",
27    "storage/src/multiver",
28    "storage/src/operation",
29    "storage/src/sqlite",
30    "storage/src/sqlite/relational",
31    "storage/src/upgrader",
32    "syncer/include",
33    "syncer/src",
34    "//third_party/openssl/include/",
35  ]
36
37  defines = [
38    "_LARGEFILE64_SOURCE",
39    "_FILE_OFFSET_BITS=64",
40    "SQLITE_HAS_CODEC",
41    "SQLITE_ENABLE_JSON1",
42    "USING_HILOG_LOGGER",
43    "USE_SQLITE_SYMBOLS",
44    "USING_DB_JSON_EXTRACT_AUTOMATICALLY",
45    "JSONCPP_USE_BUILDER",
46    "OMIT_FLATBUFFER",
47    "RELATIONAL_STORE",
48    "SQLITE_DISTRIBUTE_RELATIONAL",
49    "USE_DFX_ABILITY",
50  ]
51  if (is_debug) {
52    defines += [ "TRACE_SQLITE_EXECUTE" ]
53  }
54}
55
56config("distrdb_public_config") {
57  visibility = [ "*:*" ]
58  include_dirs = [
59    "interfaces/include",
60    "interfaces/include/relational",
61    "include",
62  ]
63}
64
65group("build_module") {
66  deps = [ ":distributeddb" ]
67}
68
69ohos_shared_library("distributeddb") {
70  sources = [
71    "common/src/auto_launch.cpp",
72    "common/src/data_compression.cpp",
73    "common/src/data_value.cpp",
74    "common/src/db_common.cpp",
75    "common/src/db_constant.cpp",
76    "common/src/db_dfx_adapter.cpp",
77    "common/src/db_dump_helper.cpp",
78    "common/src/evloop/src/event_impl.cpp",
79    "common/src/evloop/src/event_loop_epoll.cpp",
80    "common/src/evloop/src/event_loop_impl.cpp",
81    "common/src/evloop/src/event_loop_select.cpp",
82    "common/src/evloop/src/ievent.cpp",
83    "common/src/evloop/src/ievent_loop.cpp",
84    "common/src/flatbuffer_schema.cpp",
85    "common/src/hash.cpp",
86    "common/src/json_object.cpp",
87    "common/src/lock_status_observer.cpp",
88    "common/src/log_print.cpp",
89    "common/src/notification_chain.cpp",
90    "common/src/param_check_utils.cpp",
91    "common/src/parcel.cpp",
92    "common/src/performance_analysis.cpp",
93    "common/src/platform_specific.cpp",
94    "common/src/query.cpp",
95    "common/src/query_expression.cpp",
96    "common/src/ref_object.cpp",
97    "common/src/relational/prepared_stmt.cpp",
98    "common/src/relational/relational_result_set_impl.cpp",
99    "common/src/relational/relational_row_data_set.cpp",
100    "common/src/relational/relational_schema_object.cpp",
101    "common/src/relational/table_info.cpp",
102    "common/src/runtime_context.cpp",
103    "common/src/runtime_context_impl.cpp",
104    "common/src/schema_constant.cpp",
105    "common/src/schema_negotiate.cpp",
106    "common/src/schema_object.cpp",
107    "common/src/schema_utils.cpp",
108    "common/src/semaphore_utils.cpp",
109    "common/src/task_pool.cpp",
110    "common/src/task_pool_impl.cpp",
111    "common/src/task_queue.cpp",
112    "common/src/time_tick_monitor.cpp",
113    "common/src/types_export.cpp",
114    "common/src/user_change_monitor.cpp",
115    "common/src/value_object.cpp",
116    "common/src/zlib_compression.cpp",
117    "communicator/src/combine_status.cpp",
118    "communicator/src/communicator.cpp",
119    "communicator/src/communicator_aggregator.cpp",
120    "communicator/src/communicator_linker.cpp",
121    "communicator/src/frame_combiner.cpp",
122    "communicator/src/frame_retainer.cpp",
123    "communicator/src/header_converter.cpp",
124    "communicator/src/message_transform.cpp",
125    "communicator/src/network_adapter.cpp",
126    "communicator/src/protocol_proto.cpp",
127    "communicator/src/send_task_scheduler.cpp",
128    "communicator/src/serial_buffer.cpp",
129    "interfaces/src/intercepted_data_impl.cpp",
130    "interfaces/src/kv_store_changed_data_impl.cpp",
131    "interfaces/src/kv_store_delegate_impl.cpp",
132    "interfaces/src/kv_store_delegate_manager.cpp",
133    "interfaces/src/kv_store_errno.cpp",
134    "interfaces/src/kv_store_nb_conflict_data_impl.cpp",
135    "interfaces/src/kv_store_nb_delegate_impl.cpp",
136    "interfaces/src/kv_store_result_set_impl.cpp",
137    "interfaces/src/kv_store_snapshot_delegate_impl.cpp",
138    "interfaces/src/relational/relational_store_changed_data_impl.cpp",
139    "interfaces/src/relational/relational_store_delegate_impl.cpp",
140    "interfaces/src/relational/relational_store_manager.cpp",
141    "interfaces/src/relational/relational_store_sqlite_ext.cpp",
142    "interfaces/src/relational/runtime_config.cpp",
143    "storage/src/data_transformer.cpp",
144    "storage/src/db_properties.cpp",
145    "storage/src/default_factory.cpp",
146    "storage/src/generic_kvdb.cpp",
147    "storage/src/generic_kvdb_connection.cpp",
148    "storage/src/generic_single_ver_kv_entry.cpp",
149    "storage/src/iconnection.cpp",
150    "storage/src/ikvdb_factory.cpp",
151    "storage/src/kvdb_commit_notify_filterable_data.cpp",
152    "storage/src/kvdb_manager.cpp",
153    "storage/src/kvdb_observer_handle.cpp",
154    "storage/src/kvdb_properties.cpp",
155    "storage/src/kvdb_utils.cpp",
156    "storage/src/kvdb_windowed_result_set.cpp",
157    "storage/src/multiver/generic_multi_ver_kv_entry.cpp",
158    "storage/src/multiver/multi_ver_commit.cpp",
159    "storage/src/multiver/multi_ver_kvdata_storage.cpp",
160    "storage/src/multiver/multi_ver_natural_store.cpp",
161    "storage/src/multiver/multi_ver_natural_store_commit_notify_data.cpp",
162    "storage/src/multiver/multi_ver_natural_store_commit_storage.cpp",
163    "storage/src/multiver/multi_ver_natural_store_connection.cpp",
164    "storage/src/multiver/multi_ver_natural_store_snapshot.cpp",
165    "storage/src/multiver/multi_ver_natural_store_transfer_data.cpp",
166    "storage/src/multiver/multi_ver_storage_engine.cpp",
167    "storage/src/multiver/multi_ver_storage_executor.cpp",
168    "storage/src/multiver/multi_ver_vacuum.cpp",
169    "storage/src/multiver/multi_ver_vacuum_executor_impl.cpp",
170    "storage/src/multiver/multi_ver_value_object.cpp",
171    "storage/src/operation/database_oper.cpp",
172    "storage/src/operation/local_database_oper.cpp",
173    "storage/src/operation/multi_ver_database_oper.cpp",
174    "storage/src/operation/single_ver_database_oper.cpp",
175    "storage/src/package_file.cpp",
176    "storage/src/relational_row_data_impl.cpp",
177    "storage/src/relational_store_connection.cpp",
178    "storage/src/relational_store_instance.cpp",
179    "storage/src/relational_sync_able_storage.cpp",
180    "storage/src/relationaldb_properties.cpp",
181    "storage/src/result_entries_window.cpp",
182    "storage/src/single_ver_natural_store_commit_notify_data.cpp",
183    "storage/src/sqlite/collaboration_log_table_manager.cpp",
184    "storage/src/sqlite/log_table_manager_factory.cpp",
185    "storage/src/sqlite/query_object.cpp",
186    "storage/src/sqlite/query_sync_object.cpp",
187    "storage/src/sqlite/relational/relational_remote_query_continue_token.cpp",
188    "storage/src/sqlite/relational/sqlite_relational_database_upgrader.cpp",
189    "storage/src/sqlite/relational/sqlite_relational_store.cpp",
190    "storage/src/sqlite/relational/sqlite_relational_store_connection.cpp",
191    "storage/src/sqlite/relational/sqlite_relational_utils.cpp",
192    "storage/src/sqlite/relational/sqlite_single_relational_storage_engine.cpp",
193    "storage/src/sqlite/split_device_log_table_manager.cpp",
194    "storage/src/sqlite/sqlite_local_kvdb.cpp",
195    "storage/src/sqlite/sqlite_local_kvdb_connection.cpp",
196    "storage/src/sqlite/sqlite_local_kvdb_snapshot.cpp",
197    "storage/src/sqlite/sqlite_local_storage_engine.cpp",
198    "storage/src/sqlite/sqlite_local_storage_executor.cpp",
199    "storage/src/sqlite/sqlite_log_table_manager.cpp",
200    "storage/src/sqlite/sqlite_multi_ver_data_storage.cpp",
201    "storage/src/sqlite/sqlite_multi_ver_transaction.cpp",
202    "storage/src/sqlite/sqlite_query_helper.cpp",
203    "storage/src/sqlite/sqlite_single_ver_continue_token.cpp",
204    "storage/src/sqlite/sqlite_single_ver_database_upgrader.cpp",
205    "storage/src/sqlite/sqlite_single_ver_forward_cursor.cpp",
206    "storage/src/sqlite/sqlite_single_ver_natural_store.cpp",
207    "storage/src/sqlite/sqlite_single_ver_natural_store_connection.cpp",
208    "storage/src/sqlite/sqlite_single_ver_relational_continue_token.cpp",
209    "storage/src/sqlite/sqlite_single_ver_relational_storage_executor.cpp",
210    "storage/src/sqlite/sqlite_single_ver_result_set.cpp",
211    "storage/src/sqlite/sqlite_single_ver_schema_database_upgrader.cpp",
212    "storage/src/sqlite/sqlite_single_ver_storage_engine.cpp",
213    "storage/src/sqlite/sqlite_single_ver_storage_executor.cpp",
214    "storage/src/sqlite/sqlite_single_ver_storage_executor_cache.cpp",
215    "storage/src/sqlite/sqlite_single_ver_storage_executor_subscribe.cpp",
216    "storage/src/sqlite/sqlite_storage_engine.cpp",
217    "storage/src/sqlite/sqlite_storage_executor.cpp",
218    "storage/src/sqlite/sqlite_utils.cpp",
219    "storage/src/storage_engine.cpp",
220    "storage/src/storage_engine_manager.cpp",
221    "storage/src/storage_executor.cpp",
222    "storage/src/sync_able_engine.cpp",
223    "storage/src/sync_able_kvdb.cpp",
224    "storage/src/sync_able_kvdb_connection.cpp",
225    "storage/src/upgrader/single_ver_database_upgrader.cpp",
226    "storage/src/upgrader/single_ver_schema_database_upgrader.cpp",
227    "syncer/src/ability_sync.cpp",
228    "syncer/src/commit_history_sync.cpp",
229    "syncer/src/communicator_proxy.cpp",
230    "syncer/src/db_ability.cpp",
231    "syncer/src/device_manager.cpp",
232    "syncer/src/generic_syncer.cpp",
233    "syncer/src/meta_data.cpp",
234    "syncer/src/multi_ver_data_sync.cpp",
235    "syncer/src/multi_ver_sync_engine.cpp",
236    "syncer/src/multi_ver_sync_state_machine.cpp",
237    "syncer/src/multi_ver_sync_task_context.cpp",
238    "syncer/src/multi_ver_syncer.cpp",
239    "syncer/src/query_sync_water_mark_helper.cpp",
240    "syncer/src/remote_executor.cpp",
241    "syncer/src/remote_executor_packet.cpp",
242    "syncer/src/single_ver_data_message_schedule.cpp",
243    "syncer/src/single_ver_data_packet.cpp",
244    "syncer/src/single_ver_data_sync.cpp",
245    "syncer/src/single_ver_data_sync_utils.cpp",
246    "syncer/src/single_ver_kv_sync_task_context.cpp",
247    "syncer/src/single_ver_kv_syncer.cpp",
248    "syncer/src/single_ver_relational_sync_task_context.cpp",
249    "syncer/src/single_ver_relational_syncer.cpp",
250    "syncer/src/single_ver_serialize_manager.cpp",
251    "syncer/src/single_ver_sync_engine.cpp",
252    "syncer/src/single_ver_sync_state_machine.cpp",
253    "syncer/src/single_ver_sync_target.cpp",
254    "syncer/src/single_ver_sync_task_context.cpp",
255    "syncer/src/single_ver_syncer.cpp",
256    "syncer/src/subscribe_manager.cpp",
257    "syncer/src/sync_config.cpp",
258    "syncer/src/sync_engine.cpp",
259    "syncer/src/sync_operation.cpp",
260    "syncer/src/sync_state_machine.cpp",
261    "syncer/src/sync_target.cpp",
262    "syncer/src/sync_task_context.cpp",
263    "syncer/src/syncer_factory.cpp",
264    "syncer/src/syncer_proxy.cpp",
265    "syncer/src/time_helper.cpp",
266    "syncer/src/time_sync.cpp",
267    "syncer/src/value_slice_sync.cpp",
268  ]
269
270  configs = [ ":distrdb_config" ]
271  public_configs = [ ":distrdb_public_config" ]
272
273  deps = [
274    "//third_party/sqlite:sqlite",
275    "//third_party/zlib:shared_libz",
276  ]
277
278  configs += [ "//third_party/jsoncpp:jsoncpp_config" ]
279  ldflags = [ "-Wl,--exclude-libs,ALL" ]
280  cflags_cc = [ "-fvisibility=hidden" ]
281  deps += [
282    "//third_party/jsoncpp:jsoncpp",
283    "//third_party/openssl:libcrypto_shared",
284  ]
285
286  external_deps = [
287    "c_utils:utils",
288    "hisysevent_native:libhisysevent",
289    "hitrace_native:hitrace_meter",
290    "hiviewdfx_hilog_native:libhilog",
291  ]
292
293  subsystem_name = "distributeddatamgr"
294  part_name = "kv_store"
295}
296