115053c2dSopenharmony_ci# Copyright (c) 2021 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("distributeddb.gni") 1515053c2dSopenharmony_ci 1615053c2dSopenharmony_ciconfig("distrdb_config") { 1715053c2dSopenharmony_ci visibility = [ ":*" ] 1815053c2dSopenharmony_ci include_dirs = [ 1915053c2dSopenharmony_ci "include", 2015053c2dSopenharmony_ci "interfaces/include", 2115053c2dSopenharmony_ci "interfaces/include/cloud", 2215053c2dSopenharmony_ci "interfaces/src", 2315053c2dSopenharmony_ci "interfaces/src/relational", 2415053c2dSopenharmony_ci "common/include", 2515053c2dSopenharmony_ci "common/include/cloud", 2615053c2dSopenharmony_ci "common/include/relational", 2715053c2dSopenharmony_ci "common/src/cloud", 2815053c2dSopenharmony_ci "communicator/include", 2915053c2dSopenharmony_ci "storage/include", 3015053c2dSopenharmony_ci "storage/src", 3115053c2dSopenharmony_ci "storage/src/multiver", 3215053c2dSopenharmony_ci "storage/src/operation", 3315053c2dSopenharmony_ci "storage/src/gaussdb_rd", 3415053c2dSopenharmony_ci "storage/src/sqlite", 3515053c2dSopenharmony_ci "storage/src/sqlite/kv", 3615053c2dSopenharmony_ci "storage/src/sqlite/relational", 3715053c2dSopenharmony_ci "storage/src/upgrader", 3815053c2dSopenharmony_ci "storage/src/cloud", 3915053c2dSopenharmony_ci "storage/src/kv", 4015053c2dSopenharmony_ci "storage/src/relational", 4115053c2dSopenharmony_ci "syncer/include", 4215053c2dSopenharmony_ci "syncer/src", 4315053c2dSopenharmony_ci "syncer/src/cloud", 4415053c2dSopenharmony_ci "syncer/src/device", 4515053c2dSopenharmony_ci "syncer/src/device/multiver", 4615053c2dSopenharmony_ci "syncer/src/device/singlever", 4715053c2dSopenharmony_ci "//third_party/openssl/include/", 4815053c2dSopenharmony_ci ] 4915053c2dSopenharmony_ci 5015053c2dSopenharmony_ci defines = [ 5115053c2dSopenharmony_ci "_LARGEFILE64_SOURCE", 5215053c2dSopenharmony_ci "_FILE_OFFSET_BITS=64", 5315053c2dSopenharmony_ci "SQLITE_HAS_CODEC", 5415053c2dSopenharmony_ci "SQLITE_ENABLE_JSON1", 5515053c2dSopenharmony_ci "USING_HILOG_LOGGER", 5615053c2dSopenharmony_ci "USE_SQLITE_SYMBOLS", 5715053c2dSopenharmony_ci "USING_DB_JSON_EXTRACT_AUTOMATICALLY", 5815053c2dSopenharmony_ci "JSONCPP_USE_BUILDER", 5915053c2dSopenharmony_ci "OMIT_FLATBUFFER", 6015053c2dSopenharmony_ci "OMIT_MULTI_VER", 6115053c2dSopenharmony_ci "RELATIONAL_STORE", 6215053c2dSopenharmony_ci "SQLITE_DISTRIBUTE_RELATIONAL", 6315053c2dSopenharmony_ci "USE_DFX_ABILITY", 6415053c2dSopenharmony_ci "SQLITE_ENABLE_DROPTABLE_CALLBACK", 6515053c2dSopenharmony_ci "OPENSSL_SUPPRESS_DEPRECATED", 6615053c2dSopenharmony_ci ] 6715053c2dSopenharmony_ci if (is_debug) { 6815053c2dSopenharmony_ci defines += [ "TRACE_SQLITE_EXECUTE" ] 6915053c2dSopenharmony_ci } 7015053c2dSopenharmony_ci if (is_ohos) { 7115053c2dSopenharmony_ci defines += [ "USE_FFRT" ] 7215053c2dSopenharmony_ci } 7315053c2dSopenharmony_ci} 7415053c2dSopenharmony_ci 7515053c2dSopenharmony_ciconfig("distrdb_public_config") { 7615053c2dSopenharmony_ci visibility = [ "*:*" ] 7715053c2dSopenharmony_ci include_dirs = [ 7815053c2dSopenharmony_ci "interfaces/include", 7915053c2dSopenharmony_ci "interfaces/include/relational", 8015053c2dSopenharmony_ci "include", 8115053c2dSopenharmony_ci "gaussdb_rd/include", 8215053c2dSopenharmony_ci "gaussdb_rd/include/grd_base", 8315053c2dSopenharmony_ci "gaussdb_rd/include/grd_document", 8415053c2dSopenharmony_ci "gaussdb_rd/include/grd_kv", 8515053c2dSopenharmony_ci ] 8615053c2dSopenharmony_ci} 8715053c2dSopenharmony_ci 8815053c2dSopenharmony_cigroup("build_module") { 8915053c2dSopenharmony_ci deps = [ ":distributeddb" ] 9015053c2dSopenharmony_ci} 9115053c2dSopenharmony_ci 9215053c2dSopenharmony_ciohos_shared_library("distributeddb") { 9315053c2dSopenharmony_ci branch_protector_ret = "pac_ret" 9415053c2dSopenharmony_ci sanitize = { 9515053c2dSopenharmony_ci ubsan = true 9615053c2dSopenharmony_ci boundary_sanitize = true 9715053c2dSopenharmony_ci cfi = true 9815053c2dSopenharmony_ci cfi_cross_dso = true 9915053c2dSopenharmony_ci debug = false 10015053c2dSopenharmony_ci } 10115053c2dSopenharmony_ci sources = distributeddb_src 10215053c2dSopenharmony_ci 10315053c2dSopenharmony_ci configs = [ ":distrdb_config" ] 10415053c2dSopenharmony_ci public_configs = [ ":distrdb_public_config" ] 10515053c2dSopenharmony_ci 10615053c2dSopenharmony_ci cflags_cc = [ "-fvisibility=hidden" ] 10715053c2dSopenharmony_ci deps = [ "gaussdb_rd:gaussdb_rd" ] 10815053c2dSopenharmony_ci 10915053c2dSopenharmony_ci external_deps = [ 11015053c2dSopenharmony_ci "c_utils:utils", 11115053c2dSopenharmony_ci "ffrt:libffrt", 11215053c2dSopenharmony_ci "hilog:libhilog", 11315053c2dSopenharmony_ci "hisysevent:libhisysevent", 11415053c2dSopenharmony_ci "hitrace:hitrace_meter", 11515053c2dSopenharmony_ci "zlib:shared_libz", 11615053c2dSopenharmony_ci ] 11715053c2dSopenharmony_ci 11815053c2dSopenharmony_ci public_external_deps = [ 11915053c2dSopenharmony_ci "jsoncpp:jsoncpp", 12015053c2dSopenharmony_ci "openssl:libcrypto_shared", 12115053c2dSopenharmony_ci "sqlite:sqlite", 12215053c2dSopenharmony_ci ] 12315053c2dSopenharmony_ci 12415053c2dSopenharmony_ci subsystem_name = "distributeddatamgr" 12515053c2dSopenharmony_ci innerapi_tags = [ "platformsdk_indirect" ] 12615053c2dSopenharmony_ci part_name = "kv_store" 12715053c2dSopenharmony_ci} 128