153c3577eSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
253c3577eSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
353c3577eSopenharmony_ci# you may not use this file except in compliance with the License.
453c3577eSopenharmony_ci# You may obtain a copy of the License at
553c3577eSopenharmony_ci#
653c3577eSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
753c3577eSopenharmony_ci#
853c3577eSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
953c3577eSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1053c3577eSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1153c3577eSopenharmony_ci# See the License for the specific language governing permissions and
1253c3577eSopenharmony_ci# limitations under the License.
1353c3577eSopenharmony_ciimport("//build/ohos.gni")
1453c3577eSopenharmony_ciimport("//build/ohos_var.gni")
1553c3577eSopenharmony_ciimport("//foundation/distributeddatamgr/datamgr_service/datamgr_service.gni")
1653c3577eSopenharmony_ci
1753c3577eSopenharmony_cigroup("build_module") {
1853c3577eSopenharmony_ci  deps = [ ":distributeddatasvcfwk" ]
1953c3577eSopenharmony_ci}
2053c3577eSopenharmony_ciconfig("module_config") {
2153c3577eSopenharmony_ci  visibility = [ ":*" ]
2253c3577eSopenharmony_ci  include_dirs = [
2353c3577eSopenharmony_ci    "include",
2453c3577eSopenharmony_ci    "${data_service_path}/adapter/include",
2553c3577eSopenharmony_ci    "${kv_store_path}/interfaces/innerkits/distributeddata/include",
2653c3577eSopenharmony_ci    "${kv_store_common_path}",
2753c3577eSopenharmony_ci    "${kv_store_distributeddb_path}/interfaces/include/",
2853c3577eSopenharmony_ci    "${kv_store_distributeddb_path}/include/",
2953c3577eSopenharmony_ci  ]
3053c3577eSopenharmony_ci}
3153c3577eSopenharmony_ci
3253c3577eSopenharmony_ciconfig("module_public_config") {
3353c3577eSopenharmony_ci  visibility = [ ":*" ]
3453c3577eSopenharmony_ci  include_dirs = [
3553c3577eSopenharmony_ci    "include",
3653c3577eSopenharmony_ci    "${data_service_path}/framework/include/account",
3753c3577eSopenharmony_ci    "${kv_store_common_path}",
3853c3577eSopenharmony_ci  ]
3953c3577eSopenharmony_ci}
4053c3577eSopenharmony_ci
4153c3577eSopenharmony_ciohos_shared_library("distributeddatasvcfwk") {
4253c3577eSopenharmony_ci  branch_protector_ret = "pac_ret"
4353c3577eSopenharmony_ci  sanitize = {
4453c3577eSopenharmony_ci    ubsan = true
4553c3577eSopenharmony_ci    boundary_sanitize = true
4653c3577eSopenharmony_ci    cfi = true
4753c3577eSopenharmony_ci    cfi_cross_dso = true
4853c3577eSopenharmony_ci    debug = false
4953c3577eSopenharmony_ci  }
5053c3577eSopenharmony_ci  sources = [
5153c3577eSopenharmony_ci    "account/account_delegate.cpp",
5253c3577eSopenharmony_ci    "app_id_mapping/app_id_mapping_config_manager.cpp",
5353c3577eSopenharmony_ci    "backuprule/backup_rule_manager.cpp",
5453c3577eSopenharmony_ci    "changeevent/remote_change_event.cpp",
5553c3577eSopenharmony_ci    "checker/checker_manager.cpp",
5653c3577eSopenharmony_ci    "cloud/asset_loader.cpp",
5753c3577eSopenharmony_ci    "cloud/cloud_config_manager.cpp",
5853c3577eSopenharmony_ci    "cloud/cloud_db.cpp",
5953c3577eSopenharmony_ci    "cloud/cloud_event.cpp",
6053c3577eSopenharmony_ci    "cloud/cloud_extra_data.cpp",
6153c3577eSopenharmony_ci    "cloud/cloud_info.cpp",
6253c3577eSopenharmony_ci    "cloud/cloud_lock_event.cpp",
6353c3577eSopenharmony_ci    "cloud/cloud_report.cpp",
6453c3577eSopenharmony_ci    "cloud/cloud_server.cpp",
6553c3577eSopenharmony_ci    "cloud/cloud_share_event.cpp",
6653c3577eSopenharmony_ci    "cloud/cloud_sync_finished_event.cpp",
6753c3577eSopenharmony_ci    "cloud/make_query_event.cpp",
6853c3577eSopenharmony_ci    "cloud/schema_meta.cpp",
6953c3577eSopenharmony_ci    "cloud/sharing_center.cpp",
7053c3577eSopenharmony_ci    "cloud/subscription.cpp",
7153c3577eSopenharmony_ci    "cloud/sync_event.cpp",
7253c3577eSopenharmony_ci    "cloud/sync_strategy.cpp",
7353c3577eSopenharmony_ci    "communication/connect_manager.cpp",
7453c3577eSopenharmony_ci    "directory/directory_manager.cpp",
7553c3577eSopenharmony_ci    "dump/dump_manager.cpp",
7653c3577eSopenharmony_ci    "eventcenter/event.cpp",
7753c3577eSopenharmony_ci    "eventcenter/event_center.cpp",
7853c3577eSopenharmony_ci    "feature/feature_system.cpp",
7953c3577eSopenharmony_ci    "feature/static_acts.cpp",
8053c3577eSopenharmony_ci    "metadata/appid_meta_data.cpp",
8153c3577eSopenharmony_ci    "metadata/auto_launch_meta_data.cpp",
8253c3577eSopenharmony_ci    "metadata/capability_meta_data.cpp",
8353c3577eSopenharmony_ci    "metadata/capability_range.cpp",
8453c3577eSopenharmony_ci    "metadata/corrupted_meta_data.cpp",
8553c3577eSopenharmony_ci    "metadata/matrix_meta_data.cpp",
8653c3577eSopenharmony_ci    "metadata/meta_data.cpp",
8753c3577eSopenharmony_ci    "metadata/meta_data_manager.cpp",
8853c3577eSopenharmony_ci    "metadata/secret_key_meta_data.cpp",
8953c3577eSopenharmony_ci    "metadata/store_debug_info.cpp",
9053c3577eSopenharmony_ci    "metadata/store_meta_data.cpp",
9153c3577eSopenharmony_ci    "metadata/store_meta_data_local.cpp",
9253c3577eSopenharmony_ci    "metadata/strategy_meta_data.cpp",
9353c3577eSopenharmony_ci    "metadata/switches_meta_data.cpp",
9453c3577eSopenharmony_ci    "metadata/user_meta_data.cpp",
9553c3577eSopenharmony_ci    "metadata/version_meta_data.cpp",
9653c3577eSopenharmony_ci    "screen/screen_manager.cpp",
9753c3577eSopenharmony_ci    "serializable/serializable.cpp",
9853c3577eSopenharmony_ci    "snapshot/bind_event.cpp",
9953c3577eSopenharmony_ci    "snapshot/snapshot.cpp",
10053c3577eSopenharmony_ci    "store/auto_cache.cpp",
10153c3577eSopenharmony_ci    "utils/anonymous.cpp",
10253c3577eSopenharmony_ci    "utils/block_integer.cpp",
10353c3577eSopenharmony_ci    "utils/constant.cpp",
10453c3577eSopenharmony_ci    "utils/converter.cpp",
10553c3577eSopenharmony_ci    "utils/crypto.cpp",
10653c3577eSopenharmony_ci    "utils/ref_count.cpp",
10753c3577eSopenharmony_ci  ]
10853c3577eSopenharmony_ci  cflags = [
10953c3577eSopenharmony_ci    "-Wno-multichar",
11053c3577eSopenharmony_ci    "-D_LIBCPP_HAS_COND_CLOCKWAIT",
11153c3577eSopenharmony_ci  ]
11253c3577eSopenharmony_ci
11353c3577eSopenharmony_ci  cflags_cc = [ "-fvisibility=hidden" ]
11453c3577eSopenharmony_ci
11553c3577eSopenharmony_ci  configs = [ ":module_config" ]
11653c3577eSopenharmony_ci
11753c3577eSopenharmony_ci  public_configs = [ ":module_public_config" ]
11853c3577eSopenharmony_ci
11953c3577eSopenharmony_ci  external_deps = [
12053c3577eSopenharmony_ci    "access_token:libaccesstoken_sdk",
12153c3577eSopenharmony_ci    "c_utils:utils",
12253c3577eSopenharmony_ci    "hilog:libhilog",
12353c3577eSopenharmony_ci    "json:nlohmann_json_static",
12453c3577eSopenharmony_ci    "openssl:libcrypto_shared",
12553c3577eSopenharmony_ci  ]
12653c3577eSopenharmony_ci  subsystem_name = "distributeddatamgr"
12753c3577eSopenharmony_ci
12853c3577eSopenharmony_ci  part_name = "datamgr_service"
12953c3577eSopenharmony_ci  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
13053c3577eSopenharmony_ci}
131