# Copyright (c) 2024 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build/ohos.gni")
import("//foundation/distributeddatamgr/kv_store/kv_store.gni")
config("database_utils_config") {
visibility = [ ":*" ]
include_dirs = [
"include",
"${kv_store_base_path}/frameworks/common"
]
}
config("database_utils_public_config") {
visibility = [ ":*" ]
include_dirs = [ "include" ]
if (use_platform_win || use_platform_mac || is_ios || is_android) {
include_dirs += [
"${kv_store_base_path}/kvstoremock/interfaces/mock",
"${kv_store_base_path}/kvstoremock/interfaces/mock/common"
]
}
}
base_sources = [ "src/acl.cpp" ]
if (is_ios || is_android) {
ohos_static_library("database_utils") {
branch_protector_ret = "pac_ret"
sources = base_sources
configs = [ ":database_utils_config" ]
cflags_cc = [
"-fvisibility=hidden",
"-Werror=vla",
]
public_configs = [ ":database_utils_public_config" ]
deps = [ "${kv_store_base_path}/kvstoremock/interfaces/mock:build_module" ]
public_external_deps = [ "bounds_checking_function:libsec_static" ]
subsystem_name = "distributeddatamgr"
part_name = "kv_store"
}
} else {
ohos_shared_library("database_utils") {
branch_protector_ret = "pac_ret"
sources = base_sources
if (is_ohos) {
sanitize = {
ubsan = true
boundary_sanitize = true
cfi = true
cfi_cross_dso = true
debug = false
}
}
innerapi_tags = [ "platformsdk" ]
configs = [ ":database_utils_config" ]
cflags_cc = [
"-fvisibility=hidden",
"-Werror=vla",
]
public_configs = [ ":database_utils_public_config" ]
deps = [ "${kv_store_base_path}/kvstoremock/interfaces/mock:build_module" ]
external_deps = [
"bounds_checking_function:libsec_shared",
"hilog:libhilog"
]
subsystem_name = "distributeddatamgr"
part_name = "kv_store"
}
}