106694b06Sopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd.
206694b06Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
306694b06Sopenharmony_ci# you may not use this file except in compliance with the License.
406694b06Sopenharmony_ci# You may obtain a copy of the License at
506694b06Sopenharmony_ci#
606694b06Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
706694b06Sopenharmony_ci#
806694b06Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
906694b06Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1006694b06Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1106694b06Sopenharmony_ci# See the License for the specific language governing permissions and
1206694b06Sopenharmony_ci# limitations under the License.
1306694b06Sopenharmony_ciimport("//build/ohos.gni")
1406694b06Sopenharmony_ciimport("//foundation/distributeddatamgr/relational_store/relational_store.gni")
1506694b06Sopenharmony_ci
1606694b06Sopenharmony_ciconfig("native_dataability_config") {
1706694b06Sopenharmony_ci  visibility = [ ":*" ]
1806694b06Sopenharmony_ci
1906694b06Sopenharmony_ci  cflags = [ "-Wc99-designator" ]
2006694b06Sopenharmony_ci  cflags_cc = [ "-Wc99-designator" ]
2106694b06Sopenharmony_ci  if (!is_mingw && !is_mac) {
2206694b06Sopenharmony_ci    cflags_cc += [ "-fvisibility=hidden" ]
2306694b06Sopenharmony_ci  }
2406694b06Sopenharmony_ci
2506694b06Sopenharmony_ci  include_dirs = [
2606694b06Sopenharmony_ci    "include",
2706694b06Sopenharmony_ci    "${relational_store_common_path}/include",
2806694b06Sopenharmony_ci    "${relational_store_native_path}/dataability/include",
2906694b06Sopenharmony_ci    "${relational_store_native_path}/dataability/src",
3006694b06Sopenharmony_ci  ]
3106694b06Sopenharmony_ci}
3206694b06Sopenharmony_ci
3306694b06Sopenharmony_ciconfig("native_dataability_public_config") {
3406694b06Sopenharmony_ci  visibility = [ ":*" ]
3506694b06Sopenharmony_ci  include_dirs = [ "include" ]
3606694b06Sopenharmony_ci}
3706694b06Sopenharmony_ci
3806694b06Sopenharmony_ciohos_shared_library("native_dataability") {
3906694b06Sopenharmony_ci  branch_protector_ret = "pac_ret"
4006694b06Sopenharmony_ci  sanitize = {
4106694b06Sopenharmony_ci    boundary_sanitize = true
4206694b06Sopenharmony_ci    ubsan = true
4306694b06Sopenharmony_ci    cfi = true
4406694b06Sopenharmony_ci    cfi_cross_dso = true
4506694b06Sopenharmony_ci    debug = false
4606694b06Sopenharmony_ci  }
4706694b06Sopenharmony_ci
4806694b06Sopenharmony_ci  part_name = "relational_store"
4906694b06Sopenharmony_ci  sources = [
5006694b06Sopenharmony_ci    "${relational_store_native_path}/dataability/src/data_ability_predicates.cpp",
5106694b06Sopenharmony_ci    "${relational_store_native_path}/dataability/src/ishared_result_set.cpp",
5206694b06Sopenharmony_ci    "${relational_store_native_path}/dataability/src/ishared_result_set_proxy.cpp",
5306694b06Sopenharmony_ci    "${relational_store_native_path}/dataability/src/ishared_result_set_stub.cpp",
5406694b06Sopenharmony_ci    "${relational_store_native_path}/dataability/src/logger.h",
5506694b06Sopenharmony_ci    "${relational_store_native_path}/dataability/src/predicates_utils.cpp",
5606694b06Sopenharmony_ci  ]
5706694b06Sopenharmony_ci
5806694b06Sopenharmony_ci  configs = [ ":native_dataability_config" ]
5906694b06Sopenharmony_ci
6006694b06Sopenharmony_ci  if (!(host_os == "linux" && host_cpu == "arm64")) {
6106694b06Sopenharmony_ci    deps = [ "${relational_store_innerapi_path}/rdb:native_rdb" ]
6206694b06Sopenharmony_ci  }
6306694b06Sopenharmony_ci
6406694b06Sopenharmony_ci  external_deps = [
6506694b06Sopenharmony_ci    "c_utils:utils",
6606694b06Sopenharmony_ci    "hilog:libhilog",
6706694b06Sopenharmony_ci    "ipc:ipc_single",
6806694b06Sopenharmony_ci  ]
6906694b06Sopenharmony_ci
7006694b06Sopenharmony_ci  public_configs = [ ":native_dataability_public_config" ]
7106694b06Sopenharmony_ci
7206694b06Sopenharmony_ci  innerapi_tags = [ "platformsdk" ]
7306694b06Sopenharmony_ci  subsystem_name = "distributeddatamgr"
7406694b06Sopenharmony_ci}
75