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_share/datashare.gni") 15import("//foundation/distributeddatamgr/kv_store/kv_store.gni") 16 17group("build_module") { 18 deps = [] 19 if (!use_platform_win && !use_platforn_mac) { 20 deps += [ 21 ":distributeddata_client_sync", 22 ":distributeddata_inner", 23 ] 24 } 25} 26 27config("distributeddatafwk_config") { 28 visibility = [ ":*" ] 29 30 cflags = [ 31 "-Wno-multichar", 32 "-Wno-c99-designator", 33 ] 34 35 cflags_cc = [ "-fvisibility=hidden" ] 36 37 include_dirs = [ 38 "include", 39 "../../../frameworks/innerkitsimpl/distributeddatamgr/include", 40 "../../../frameworks/innerkitsimpl/distributeddatafwk/include", 41 "../../../frameworks/innerkitsimpl/distributeddatafwk/src", 42 "../../../frameworks/common", 43 "../../../frameworks/innerkitsimpl/kvdb/include", 44 "../../../frameworks/innerkitsimpl/kvdb/src", 45 "${datashare_innerapi_path}/common/include", 46 "${datashare_innerapi_path}/provider/include", 47 ] 48} 49 50config("distributeddatafwk_public_config") { 51 visibility = [ ":*" ] 52 53 include_dirs = [ 54 "include", 55 "../../../frameworks/innerkitsimpl/distributeddatafwk/include", 56 "../../../frameworks/common", 57 ] 58} 59 60old_source_config = [ 61 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/blob.cpp", 62 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/change_notification.cpp", 63 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/data_query.cpp", 64 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/distributed_kv_data_manager.cpp", 65 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/ikvstore_client_death_observer.cpp", 66 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/ikvstore_observer.cpp", 67 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kv_utils.cpp", 68 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvdb_notifier_client.cpp", 69 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvdb_notifier_stub.cpp", 70 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvstore_client_death_observer.cpp", 71 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvstore_datashare_bridge.cpp", 72 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvstore_observer_client.cpp", 73 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/kvstore_service_death_notifier.cpp", 74 "../../../frameworks/innerkitsimpl/distributeddatafwk/src/sync_observer.cpp", 75 "include/types.h", 76] 77 78kvdb_source_config = [ 79 "../../../frameworks/innerkitsimpl/kvdb/src/backup_manager.cpp", 80 "../../../frameworks/innerkitsimpl/kvdb/src/convertor.cpp", 81 "../../../frameworks/innerkitsimpl/kvdb/src/dev_manager.cpp", 82 "../../../frameworks/innerkitsimpl/kvdb/src/device_convertor.cpp", 83 "../../../frameworks/innerkitsimpl/kvdb/src/kv_types_util.cpp", 84 "../../../frameworks/innerkitsimpl/kvdb/src/kvdb_service_client.cpp", 85 "../../../frameworks/innerkitsimpl/kvdb/src/observer_bridge.cpp", 86 "../../../frameworks/innerkitsimpl/kvdb/src/security_manager.cpp", 87 "../../../frameworks/innerkitsimpl/kvdb/src/single_store_impl.cpp", 88 "../../../frameworks/innerkitsimpl/kvdb/src/store_factory.cpp", 89 "../../../frameworks/innerkitsimpl/kvdb/src/store_manager.cpp", 90 "../../../frameworks/innerkitsimpl/kvdb/src/store_result_set.cpp", 91 "../../../frameworks/innerkitsimpl/kvdb/src/store_util.cpp", 92 "../../../frameworks/innerkitsimpl/kvdb/src/system_api.cpp", 93 "../../../frameworks/innerkitsimpl/kvdb/src/task_executor.cpp", 94 "../../../frameworks/innerkitsimpl/kvdb/src/task_executor_adapter.cpp", 95 "../../../frameworks/innerkitsimpl/kvdb/src/kv_hiview_reporter.cpp", 96] 97 98deps_config = [ 99 "../../../frameworks/libs/distributeddb:distributeddb", 100 "../distributeddatamgr:distributeddata_mgr", 101 "../distributeddata:distributeddata_client_sync", 102 "../../../databaseutils:database_utils", 103] 104 105external_deps_config = [ 106 "access_token:libaccesstoken_sdk", 107 "access_token:libtokenid_sdk", 108 "c_utils:utils", 109 "device_manager:devicemanagersdk", 110 "hisysevent:libhisysevent", 111 "hitrace:hitrace_meter", 112 "hitrace:libhitracechain", 113 "hilog:libhilog", 114 "huks:libhukssdk", 115 "ipc:ipc_single", 116 "samgr:samgr_proxy", 117 "file_api:securitylabel", 118] 119 120ohos_shared_library("distributeddata_inner") { 121 branch_protector_ret = "pac_ret" 122 sanitize = { 123 ubsan = true 124 boundary_sanitize = true 125 cfi = true 126 cfi_cross_dso = true 127 debug = false 128 } 129 sources = old_source_config + kvdb_source_config 130 if (qemu_disable) { 131 sources += 132 [ "../../../frameworks/innerkitsimpl/kvdb/src/auto_sync_timer.cpp" ] 133 } else { 134 sources += [ 135 "../../../frameworks/innerkitsimpl/kvdb/src/auto_sync_timer_mock.cpp", 136 ] 137 } 138 configs = [ ":distributeddatafwk_config" ] 139 public_configs = [ ":distributeddatafwk_public_config" ] 140 141 deps = deps_config 142 external_deps = external_deps_config 143 if (dms_service_enable && qemu_disable) { 144 external_deps += [ "dmsfwk:distributed_sdk" ] 145 } 146 innerapi_tags = [ "platformsdk" ] 147 subsystem_name = "distributeddatamgr" 148 part_name = "kv_store" 149} 150 151ohos_shared_library("distributeddata_client_sync") { 152 branch_protector_ret = "pac_ret" 153 sanitize = { 154 ubsan = true 155 boundary_sanitize = true 156 cfi = true 157 cfi_cross_dso = true 158 debug = false 159 } 160 sources = [ 161 "${kv_store_base_path}/frameworks/innerkitsimpl/kvdb/src/process_communication_impl.cpp", 162 "${kv_store_base_path}/frameworks/innerkitsimpl/kvdb/src/process_system_api_adapter_impl.cpp", 163 ] 164 165 configs = [ ":distributeddatafwk_config" ] 166 167 deps = [ "${kv_store_base_path}/frameworks/libs/distributeddb:distributeddb" ] 168 169 external_deps = [ 170 "c_utils:utils", 171 "file_api:securitylabel", 172 "hilog:libhilog", 173 ] 174 innerapi_tags = [ "platformsdk" ] 175 subsystem_name = "distributeddatamgr" 176 part_name = "kv_store" 177} 178