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.
13import("//build/ohos.gni")
14import("//foundation/distributeddatamgr/data_object/data_object.gni")
15config("objectstore_config") {
16  visibility = [ ":*" ]
17
18  cflags = [ "-DHILOG_ENABLE" ]
19
20  include_dirs = [
21    "../../frameworks/innerkitsimpl/include/adaptor",
22    "../../frameworks/innerkitsimpl/include/common",
23    "../../frameworks/innerkitsimpl/include/communicator",
24    "../../frameworks/innerkitsimpl/include",
25    "../../interfaces/innerkits",
26  ]
27
28  ldflags = [ "-Wl,--exclude-libs,ALL" ]
29}
30
31config("objectstore_public_config") {
32  visibility = [ ":*" ]
33
34  include_dirs = [ "." ]
35}
36
37object_source_config = [
38  "../../frameworks/innerkitsimpl/src/adaptor/client_adaptor.cpp",
39  "../../frameworks/innerkitsimpl/src/adaptor/distributed_object_impl.cpp",
40  "../../frameworks/innerkitsimpl/src/adaptor/distributed_object_store_impl.cpp",
41  "../../frameworks/innerkitsimpl/src/adaptor/flat_object_storage_engine.cpp",
42  "../../frameworks/innerkitsimpl/src/adaptor/flat_object_store.cpp",
43  "../../frameworks/innerkitsimpl/src/adaptor/asset_change_timer.cpp",
44  "../../frameworks/innerkitsimpl/src/adaptor/object_callback_impl.cpp",
45  "../../frameworks/innerkitsimpl/src/communicator/app_device_handler.cpp",
46  "../../frameworks/innerkitsimpl/src/communicator/app_pipe_handler.cpp",
47  "../../frameworks/innerkitsimpl/src/communicator/app_pipe_mgr.cpp",
48  "../../frameworks/innerkitsimpl/src/communicator/ark_communication_provider.cpp",
49  "../../frameworks/innerkitsimpl/src/communicator/communication_provider.cpp",
50  "../../frameworks/innerkitsimpl/src/communicator/communication_provider_impl.cpp",
51  "../../frameworks/innerkitsimpl/src/communicator/dev_manager.cpp",
52  "../../frameworks/innerkitsimpl/src/communicator/process_communicator_impl.cpp",
53  "../../frameworks/innerkitsimpl/src/communicator/softbus_adapter_standard.cpp",
54  "../../frameworks/innerkitsimpl/src/object_callback_stub.cpp",
55  "../../frameworks/innerkitsimpl/src/object_radar_reporter.cpp",
56  "../../frameworks/innerkitsimpl/src/object_service_proxy.cpp",
57  "../../frameworks/innerkitsimpl/src/object_types_util.cpp",
58]
59object_deps_config = []
60object_external_deps_config = [
61  "access_token:libaccesstoken_sdk",
62  "bounds_checking_function:libsec_shared",
63  "c_utils:utils",
64  "device_manager:devicemanagersdk",
65  "dmsfwk:distributed_sdk",
66  "dsoftbus:softbus_client",
67  "hisysevent:libhisysevent",
68  "hitrace:hitrace_meter",
69  "hitrace:libhitracechain",
70  "hilog:libhilog",
71  "ipc:ipc_core",
72  "kv_store:distributeddata_inner",
73  "kv_store:distributeddb",
74  "libuv:uv",
75  "samgr:samgr_proxy",
76]
77ohos_shared_library("distributeddataobject_impl") {
78  branch_protector_ret = "pac_ret"
79  sanitize = {
80    ubsan = true
81    boundary_sanitize = true
82    cfi = true
83    cfi_cross_dso = true
84    debug = false
85  }
86  part_name = "data_object"
87  sources = object_source_config
88
89  configs = [ ":objectstore_config" ]
90  deps = object_deps_config
91  external_deps = object_external_deps_config
92  public_configs = [ ":objectstore_public_config" ]
93  version_script = "libnative_dataobject.versionscript"
94  innerapi_tags = [ "platformsdk" ]
95  subsystem_name = "distributeddatamgr"
96}
97
98ohos_static_library("distributeddataobject_static") {
99  branch_protector_ret = "pac_ret"
100  sanitize = {
101    ubsan = true
102    boundary_sanitize = true
103    cfi = true
104    cfi_cross_dso = true
105    debug = false
106  }
107  part_name = "data_object"
108  sources = object_source_config
109
110  configs = [ ":objectstore_config" ]
111  deps = object_deps_config
112  external_deps = object_external_deps_config
113  public_configs = [ ":objectstore_public_config" ]
114  subsystem_name = "distributeddatamgr"
115}
116