115053c2dSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd. 215053c2dSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 315053c2dSopenharmony_ci# you may not use this file except in compliance with the License. 415053c2dSopenharmony_ci# You may obtain a copy of the License at 515053c2dSopenharmony_ci# 615053c2dSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 715053c2dSopenharmony_ci# 815053c2dSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 915053c2dSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1015053c2dSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1115053c2dSopenharmony_ci# See the License for the specific language governing permissions and 1215053c2dSopenharmony_ci# limitations under the License. 1315053c2dSopenharmony_ciimport("//build/ohos.gni") 1415053c2dSopenharmony_ciimport("//foundation/distributeddatamgr/kv_store/kv_store.gni") 1515053c2dSopenharmony_ciimport("../.././frameworks/libs/distributeddb/distributeddb.gni") 1615053c2dSopenharmony_cikv_store_distributeddb_path = "../.././frameworks/libs/distributeddb/" 1715053c2dSopenharmony_cidistrdb_Dir = [ 1815053c2dSopenharmony_ci "${kv_store_distributeddb_path}include", 1915053c2dSopenharmony_ci "${kv_store_distributeddb_path}interfaces/include", 2015053c2dSopenharmony_ci "${kv_store_distributeddb_path}interfaces/src", 2115053c2dSopenharmony_ci "${kv_store_distributeddb_path}interfaces/src/relational", 2215053c2dSopenharmony_ci "${kv_store_distributeddb_path}common/include", 2315053c2dSopenharmony_ci "${kv_store_distributeddb_path}common/include/relational", 2415053c2dSopenharmony_ci "${kv_store_distributeddb_path}communicator/include", 2515053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd", 2615053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/include", 2715053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/include/grd_base", 2815053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/include/grd_document", 2915053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/include/grd_kv", 3015053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/include", 3115053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/src", 3215053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/src/cloud", 3315053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/src/kv", 3415053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/src/gaussdb_rd", 3515053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/src/multiver", 3615053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/src/operation", 3715053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/src/relational", 3815053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/src/sqlite", 3915053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/src/sqlite/kv", 4015053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/src/sqlite/relational", 4115053c2dSopenharmony_ci "${kv_store_distributeddb_path}storage/src/upgrader", 4215053c2dSopenharmony_ci "${kv_store_distributeddb_path}syncer/include", 4315053c2dSopenharmony_ci "${kv_store_distributeddb_path}syncer/src", 4415053c2dSopenharmony_ci "${kv_store_distributeddb_path}syncer/src/cloud", 4515053c2dSopenharmony_ci "${kv_store_distributeddb_path}syncer/src/device", 4615053c2dSopenharmony_ci "${kv_store_distributeddb_path}syncer/src/device/multiver", 4715053c2dSopenharmony_ci "${kv_store_distributeddb_path}syncer/src/device/singlever", 4815053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/src/common/include", 4915053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/src/executor/include", 5015053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/src/executor/document", 5115053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/src/oh_adapter/include", 5215053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/src/oh_adapter/src", 5315053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/src/interface/include", 5415053c2dSopenharmony_ci 5515053c2dSopenharmony_ci "//third_party/openssl/include/", 5615053c2dSopenharmony_ci "//third_party/bounds_checking_function/include", 5715053c2dSopenharmony_ci] 5815053c2dSopenharmony_cidistrdb_defines = [ 5915053c2dSopenharmony_ci "_LARGEFILE64_SOURCE", 6015053c2dSopenharmony_ci "_FILE_OFFSET_BITS=64", 6115053c2dSopenharmony_ci "SQLITE_HAS_CODEC", 6215053c2dSopenharmony_ci "SQLITE_ENABLE_JSON1", 6315053c2dSopenharmony_ci "USE_SQLITE_SYMBOLS", 6415053c2dSopenharmony_ci "USING_DB_JSON_EXTRACT_AUTOMATICALLY", 6515053c2dSopenharmony_ci "JSONCPP_USE_BUILDER", 6615053c2dSopenharmony_ci "OMIT_FLATBUFFER", 6715053c2dSopenharmony_ci "OMIT_MULTI_VER", 6815053c2dSopenharmony_ci "RELATIONAL_STORE", 6915053c2dSopenharmony_ci "SQLITE_DISTRIBUTE_RELATIONAL", 7015053c2dSopenharmony_ci "SQLITE_ENABLE_DROPTABLE_CALLBACK", 7115053c2dSopenharmony_ci] 7215053c2dSopenharmony_ciconfig("distrdb_public_config") { 7315053c2dSopenharmony_ci visibility = [ "*:*" ] 7415053c2dSopenharmony_ci include_dirs = [ 7515053c2dSopenharmony_ci "${kv_store_distributeddb_path}interfaces/include", 7615053c2dSopenharmony_ci "${kv_store_distributeddb_path}interfaces/include/relational", 7715053c2dSopenharmony_ci "${kv_store_distributeddb_path}include", 7815053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/include/grd_base", 7915053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/include/grd_document", 8015053c2dSopenharmony_ci "${kv_store_distributeddb_path}gaussdb_rd/include/grd_kv", 8115053c2dSopenharmony_ci ] 8215053c2dSopenharmony_ci} 8315053c2dSopenharmony_ci 8415053c2dSopenharmony_cigroup("build_module") { 8515053c2dSopenharmony_ci deps = [] 8615053c2dSopenharmony_ci if (use_platform_win || use_platforn_mac) { 8715053c2dSopenharmony_ci deps += [ ":distributeddb" ] 8815053c2dSopenharmony_ci } 8915053c2dSopenharmony_ci} 9015053c2dSopenharmony_cidistrdb_sources = distributeddb_src 9115053c2dSopenharmony_ci 9215053c2dSopenharmony_ciconfig("distrdb_config") { 9315053c2dSopenharmony_ci visibility = [ ":*" ] 9415053c2dSopenharmony_ci include_dirs = distrdb_Dir 9515053c2dSopenharmony_ci include_dirs += [ 9615053c2dSopenharmony_ci "//third_party/jsoncpp/include", 9715053c2dSopenharmony_ci "//third_party/zlib", 9815053c2dSopenharmony_ci "//third_party/sqlite/include", 9915053c2dSopenharmony_ci "//third_party/bounds_checking_function/include", 10015053c2dSopenharmony_ci ] 10115053c2dSopenharmony_ci 10215053c2dSopenharmony_ci defines = distrdb_defines 10315053c2dSopenharmony_ci defines += [ 10415053c2dSopenharmony_ci "EVLOOP_TIMER_ONLY", 10515053c2dSopenharmony_ci "USING_PRINTF_LOGGER", 10615053c2dSopenharmony_ci "OPENSSL_SUPPRESS_DEPRECATED", 10715053c2dSopenharmony_ci "OMIT_cJSON", 10815053c2dSopenharmony_ci ] 10915053c2dSopenharmony_ci if (use_platform_win) { 11015053c2dSopenharmony_ci defines += [ "OS_TYPE_WINDOWS" ] 11115053c2dSopenharmony_ci } else if (use_platforn_mac) { 11215053c2dSopenharmony_ci defines += [ "OS_TYPE_MAC" ] 11315053c2dSopenharmony_ci } 11415053c2dSopenharmony_ci} 11515053c2dSopenharmony_ci 11615053c2dSopenharmony_ciohos_shared_library("distributeddb_mock") { 11715053c2dSopenharmony_ci cflags_cc = [ "-std=c++17" ] 11815053c2dSopenharmony_ci sources = distrdb_sources 11915053c2dSopenharmony_ci sources += distributeddb_src_rd 12015053c2dSopenharmony_ci configs = [ ":distrdb_config" ] 12115053c2dSopenharmony_ci public_configs = [ ":distrdb_public_config" ] 12215053c2dSopenharmony_ci ldflags = [ "-v" ] 12315053c2dSopenharmony_ci deps = [ 12415053c2dSopenharmony_ci "//third_party/bounds_checking_function:libsec_static", 12515053c2dSopenharmony_ci "//third_party/jsoncpp:jsoncpp_static", 12615053c2dSopenharmony_ci "//third_party/openssl:libcrypto_static", 12715053c2dSopenharmony_ci "//third_party/sqlite:sqlite_sdk", 12815053c2dSopenharmony_ci "//third_party/zlib:shared_libz", 12915053c2dSopenharmony_ci ] 13015053c2dSopenharmony_ci 13115053c2dSopenharmony_ci if (use_platform_win) { 13215053c2dSopenharmony_ci libs = [ "//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib/libws2_32.a" ] 13315053c2dSopenharmony_ci deps += [ 13415053c2dSopenharmony_ci "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_windows", 13515053c2dSopenharmony_ci ] 13615053c2dSopenharmony_ci } else if (use_platforn_mac) { 13715053c2dSopenharmony_ci deps += 13815053c2dSopenharmony_ci [ "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog_mac" ] 13915053c2dSopenharmony_ci } 14015053c2dSopenharmony_ci configs += [ "//third_party/jsoncpp:jsoncpp_config" ] 14115053c2dSopenharmony_ci 14215053c2dSopenharmony_ci subsystem_name = "distributeddatamgr" 14315053c2dSopenharmony_ci part_name = "kv_store" 14415053c2dSopenharmony_ci} 145