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