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