1# Copyright (c) 2022 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.
13
14import("//build/ohos.gni")
15import("//foundation/distributeddatamgr/data_share/datashare.gni")
16
17config("ability_config") {
18  visibility = [ ":*" ]
19
20  cflags = []
21  if (target_cpu == "arm") {
22    cflags += [ "-DBINDER_IPC_32BIT" ]
23  }
24}
25
26config("datashare_public_config") {
27  visibility = [ ":*" ]
28
29  include_dirs =
30      [ "${datashare_base_path}/interfaces/inner_api/common/include" ]
31}
32
33datashare_common_include_dirs = [
34  "${datashare_common_native_path}/include",
35  "${datashare_base_path}/interfaces/inner_api/common/include",
36  "${datashare_base_path}/interfaces/inner_api/consumer/include",
37  "${datashare_base_path}/interfaces/inner_api/provider/include",
38  "${datashare_native_proxy_path}/include",
39]
40
41datashare_common_sources = [
42  "${datashare_common_native_path}/src/datashare_abs_result_set.cpp",
43  "${datashare_common_native_path}/src/datashare_block_writer_impl.cpp",
44  "${datashare_common_native_path}/src/datashare_itypes_utils.cpp",
45  "${datashare_common_native_path}/src/datashare_result_set.cpp",
46  "${datashare_common_native_path}/src/datashare_template.cpp",
47  "${datashare_common_native_path}/src/datashare_valuebucket_convert.cpp",
48  "${datashare_common_native_path}/src/ikvstore_data_service.cpp",
49  "${datashare_common_native_path}/src/ishared_result_set.cpp",
50  "${datashare_common_native_path}/src/ishared_result_set_proxy.cpp",
51  "${datashare_common_native_path}/src/ishared_result_set_stub.cpp",
52  "${datashare_common_native_path}/src/shared_block.cpp",
53]
54
55datashare_common_external_deps = [
56  "ability_base:zuri",
57  "c_utils:utils",
58  "hilog:libhilog",
59  "hisysevent:libhisysevent",
60  "hitrace:hitrace_meter",
61  "hitrace:libhitracechain",
62  "ipc:ipc_single",
63  "kv_store:distributeddata_inner",
64]
65
66ohos_shared_library("datashare_common") {
67  branch_protector_ret = "pac_ret"
68  sanitize = {
69    ubsan = true
70    boundary_sanitize = true
71    cfi = true
72    cfi_cross_dso = true
73    debug = false
74  }
75  include_dirs = datashare_common_include_dirs
76
77  sources = datashare_common_sources
78
79  deps = []
80
81  public_deps = []
82
83  configs = [ ":ability_config" ]
84  public_configs = [ ":datashare_public_config" ]
85  version_script = "libdatashare_common.map"
86  innerapi_tags = [
87    "platformsdk",
88    "sasdk",
89  ]
90
91  external_deps = datashare_common_external_deps
92
93  subsystem_name = "distributeddatamgr"
94  part_name = "data_share"
95}
96
97ohos_static_library("datashare_common_static") {
98  branch_protector_ret = "pac_ret"
99  sanitize = {
100    ubsan = true
101    boundary_sanitize = true
102    cfi = true
103    cfi_cross_dso = true
104    debug = false
105  }
106  include_dirs = datashare_common_include_dirs
107
108  sources = datashare_common_sources
109
110  deps = []
111
112  public_deps = []
113
114  configs = [ ":ability_config" ]
115  public_configs = [ ":datashare_public_config" ]
116
117  external_deps = datashare_common_external_deps
118
119  subsystem_name = "distributeddatamgr"
120  part_name = "data_share"
121}
122