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 include_dirs = [ 20 "common/include", 21 "consumer/include", 22 "provider/include", 23 "${datashare_native_consumer_path}/include", 24 "${datashare_native_provider_path}/include", 25 "${datashare_native_proxy_path}/include", 26 ] 27 28 cflags = [] 29 if (target_cpu == "arm") { 30 cflags += [ "-DBINDER_IPC_32BIT" ] 31 } 32} 33 34config("datashare_public_config") { 35 visibility = [ ":*" ] 36 include_dirs = [ 37 "common/include", 38 "consumer/include", 39 "provider/include", 40 "${datashare_common_native_path}/include", 41 "${datashare_native_consumer_path}/controller/common", 42 "${datashare_native_consumer_path}/controller/provider/include", 43 "${datashare_native_consumer_path}/controller/service/include", 44 "${datashare_native_consumer_path}/include", 45 "${datashare_native_provider_path}/include", 46 "${datashare_native_proxy_path}/include", 47 ] 48} 49 50datashare_consumer_sources = [ 51 "${datashare_common_native_path}/src/call_reporter.cpp", 52 "${datashare_common_native_path}/src/datashare_string_utils.cpp", 53 "${datashare_common_native_path}/src/datashare_uri_utils.cpp", 54 "${datashare_native_consumer_path}/controller/provider/src/ext_special_controller.cpp", 55 "${datashare_native_consumer_path}/controller/provider/src/general_controller_provider_impl.cpp", 56 "${datashare_native_consumer_path}/controller/service/src/general_controller_service_impl.cpp", 57 "${datashare_native_consumer_path}/controller/service/src/persistent_data_controller.cpp", 58 "${datashare_native_consumer_path}/controller/service/src/published_data_controller.cpp", 59 "${datashare_native_consumer_path}/src/datashare_connection.cpp", 60 "${datashare_native_consumer_path}/src/datashare_helper.cpp", 61 "${datashare_native_consumer_path}/src/datashare_helper_impl.cpp", 62 "${datashare_native_consumer_path}/src/dataproxy_handle.cpp", 63 "${datashare_native_consumer_path}/src/datashare_proxy.cpp", 64 "${datashare_native_proxy_path}/src/ams_mgr_proxy.cpp", 65 "${datashare_native_proxy_path}/src/data_proxy_observer_stub.cpp", 66 "${datashare_native_proxy_path}/src/data_share_manager_impl.cpp", 67 "${datashare_native_proxy_path}/src/data_share_service_proxy.cpp", 68 "${datashare_native_proxy_path}/src/idata_share_client_death_observer.cpp", 69 "${datashare_native_proxy_path}/src/published_data_subscriber_manager.cpp", 70 "${datashare_native_proxy_path}/src/rdb_subscriber_manager.cpp", 71 "${datashare_native_proxy_path}/src/proxy_data_subscriber_manager.cpp", 72] 73 74datashare_consumer_external_deps = [ 75 "ability_base:want", 76 "ability_base:zuri", 77 "ability_runtime:app_context", 78 "ability_runtime:extension_manager", 79 "c_utils:utils", 80 "common_event_service:cesfwk_innerkits", 81 "hilog:libhilog", 82 "hisysevent:libhisysevent", 83 "hitrace:hitrace_meter", 84 "hitrace:libhitracechain", 85 "ipc:ipc_single", 86 "ipc:rpc", 87 "samgr:samgr_proxy", 88] 89 90config("permission_config") { 91 visibility = [ ":*" ] 92 include_dirs = [ 93 "common/include", 94 "dfx/include", 95 "permission/include", 96 "${datashare_common_native_path}/include", 97 "${datashare_native_permission_path}/include", 98 ] 99} 100 101config("permission_public_config") { 102 visibility = [ ":*" ] 103 include_dirs = [ 104 "common/include", 105 "permission/include", 106 ] 107} 108 109ohos_shared_library("datashare_consumer") { 110 branch_protector_ret = "pac_ret" 111 sanitize = { 112 ubsan = true 113 boundary_sanitize = true 114 cfi = true 115 cfi_cross_dso = true 116 debug = false 117 } 118 include_dirs = [ "${datashare_common_native_path}/include" ] 119 120 sources = datashare_consumer_sources 121 configs = [ ":ability_config" ] 122 public_configs = [ ":datashare_public_config" ] 123 version_script = "consumer/libdatashare_consumer.map" 124 innerapi_tags = [ 125 "platformsdk", 126 "sasdk", 127 ] 128 deps = [ "${datashare_innerapi_path}/common:datashare_common" ] 129 130 external_deps = datashare_consumer_external_deps 131 external_deps += [ "ability_runtime:ability_connect_callback_stub" ] 132 133 public_external_deps = [ 134 "ability_runtime:dataobs_manager", 135 "kv_store:distributeddata_inner", 136 ] 137 138 subsystem_name = "distributeddatamgr" 139 part_name = "data_share" 140} 141 142ohos_shared_library("datashare_permission") { 143 branch_protector_ret = "pac_ret" 144 sanitize = { 145 ubsan = true 146 boundary_sanitize = true 147 cfi = true 148 cfi_cross_dso = true 149 debug = false 150 } 151 include_dirs = [ "${datashare_native_dfx_path}/include" ] 152 153 sources = [ 154 "${datashare_common_native_path}/src/datashare_string_utils.cpp", 155 "${datashare_common_native_path}/src/serializable.cpp", 156 "${datashare_native_permission_path}/src/data_share_called_config.cpp", 157 "${datashare_native_permission_path}/src/data_share_permission.cpp", 158 "${datashare_native_permission_path}/src/data_share_config.cpp", 159 "${datashare_native_dfx_path}/src/hiview_datashare.cpp", 160 ] 161 configs = [ ":permission_config" ] 162 public_configs = [ ":permission_public_config" ] 163 version_script = "permission/libdatashare_permission.map" 164 innerapi_tags = [ "platformsdk" ] 165 deps = [ "${datashare_innerapi_path}/common:datashare_common" ] 166 167 external_deps = [ 168 "ability_base:zuri", 169 "ability_runtime:app_context", 170 "ability_runtime:runtime", 171 "access_token:libaccesstoken_sdk", 172 "bundle_framework:appexecfwk_base", 173 "bundle_framework:appexecfwk_core", 174 "bundle_framework:libappexecfwk_common", 175 "c_utils:utils", 176 "common_event_service:cesfwk_innerkits", 177 "hisysevent:libhisysevent", 178 "kv_store:distributeddata_inner", 179 "hilog:libhilog", 180 "ipc:ipc_single", 181 "samgr:samgr_proxy", 182 ] 183 184 subsystem_name = "distributeddatamgr" 185 part_name = "data_share" 186} 187 188ohos_shared_library("datashare_provider") { 189 branch_protector_ret = "pac_ret" 190 sanitize = { 191 ubsan = true 192 boundary_sanitize = true 193 cfi = true 194 cfi_cross_dso = true 195 debug = false 196 } 197 include_dirs = [ 198 "${datashare_common_napi_path}/include", 199 "${datashare_native_dfx_path}/include", 200 "${datashare_native_permission_path}/include", 201 ] 202 203 sources = [ 204 "${datashare_common_native_path}/src/datashare_string_utils.cpp", 205 "${datashare_common_native_path}/src/serializable.cpp", 206 "${datashare_native_provider_path}/src/datashare_ext_ability.cpp", 207 "${datashare_native_provider_path}/src/datashare_ext_ability_context.cpp", 208 "${datashare_native_provider_path}/src/datashare_stub.cpp", 209 "${datashare_native_provider_path}/src/datashare_stub_impl.cpp", 210 "${datashare_native_provider_path}/src/datashare_uv_queue.cpp", 211 "${datashare_native_provider_path}/src/js_datashare_ext_ability.cpp", 212 "${datashare_native_provider_path}/src/js_datashare_ext_ability_context.cpp", 213 "${datashare_native_permission_path}/src/data_share_config.cpp", 214 "${datashare_native_dfx_path}/src/hiview_datashare.cpp", 215 ] 216 configs = [ ":ability_config" ] 217 public_configs = [ ":datashare_public_config" ] 218 version_script = "provider/libdatashare_provider.map" 219 innerapi_tags = [ "platformsdk" ] 220 deps = [ 221 "${datashare_innerapi_path}/common:datashare_common", 222 "${datashare_napi_path}/dataShare:datashare_jscommon", 223 ] 224 225 external_deps = [ 226 "ability_base:want", 227 "ability_base:zuri", 228 "ability_runtime:ability_connect_callback_stub", 229 "ability_runtime:ability_context_native", 230 "ability_runtime:abilitykit_native", 231 "ability_runtime:app_context", 232 "ability_runtime:extensionkit_native", 233 "ability_runtime:napi_common", 234 "ability_runtime:runtime", 235 "access_token:libaccesstoken_sdk", 236 "c_utils:utils", 237 "common_event_service:cesfwk_innerkits", 238 "hilog:libhilog", 239 "hisysevent:libhisysevent", 240 "ipc:ipc_napi", 241 "ipc:ipc_single", 242 "kv_store:distributeddata_inner", 243 "napi:ace_napi", 244 "samgr:samgr_proxy", 245 ] 246 247 public_external_deps = [ "ability_runtime:dataobs_manager" ] 248 249 subsystem_name = "distributeddatamgr" 250 part_name = "data_share" 251} 252 253ohos_shared_library("datashare_ext_ability_module") { 254 branch_protector_ret = "pac_ret" 255 sanitize = { 256 ubsan = true 257 boundary_sanitize = true 258 cfi = true 259 cfi_cross_dso = true 260 debug = false 261 } 262 include_dirs = [ "${datashare_native_provider_path}/include" ] 263 264 sources = [ "${datashare_native_provider_path}/src/datashare_ext_ability_module_loader.cpp" ] 265 266 configs = [ ":ability_config" ] 267 public_configs = [ ":datashare_public_config" ] 268 269 deps = [ ":datashare_provider" ] 270 271 external_deps = [ 272 "ability_base:want", 273 "ability_runtime:abilitykit_native", 274 "ability_runtime:runtime", 275 "c_utils:utils", 276 "common_event_service:cesfwk_innerkits", 277 "hilog:libhilog", 278 "ipc:ipc_napi", 279 "ipc:ipc_single", 280 "napi:ace_napi", 281 ] 282 283 relative_install_dir = "extensionability/" 284 subsystem_name = "distributeddatamgr" 285 part_name = "data_share" 286} 287 288ohos_static_library("datashare_consumer_static") { 289 branch_protector_ret = "pac_ret" 290 sanitize = { 291 ubsan = true 292 boundary_sanitize = true 293 cfi = true 294 cfi_cross_dso = true 295 debug = false 296 } 297 include_dirs = [ "${datashare_common_native_path}/include" ] 298 299 sources = datashare_consumer_sources 300 configs = [ ":ability_config" ] 301 public_configs = [ ":datashare_public_config" ] 302 deps = [ "${datashare_innerapi_path}/common:datashare_common_static" ] 303 304 external_deps = datashare_consumer_external_deps 305 306 public_external_deps = [ "kv_store:distributeddata_inner" ] 307 308 subsystem_name = "distributeddatamgr" 309 part_name = "data_share" 310} 311