114cf0368Sopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
214cf0368Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
314cf0368Sopenharmony_ci# you may not use this file except in compliance with the License.
414cf0368Sopenharmony_ci# You may obtain a copy of the License at
514cf0368Sopenharmony_ci#
614cf0368Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
714cf0368Sopenharmony_ci#
814cf0368Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
914cf0368Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1014cf0368Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1114cf0368Sopenharmony_ci# See the License for the specific language governing permissions and
1214cf0368Sopenharmony_ci# limitations under the License.
1314cf0368Sopenharmony_ciimport("//build/ohos.gni")
1414cf0368Sopenharmony_ciimport("//foundation/distributeddatamgr/udmf/udmf.gni")
1514cf0368Sopenharmony_ci
1614cf0368Sopenharmony_ciconfig("udmf_client_config") {
1714cf0368Sopenharmony_ci  include_dirs = [
1814cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/client",
1914cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/common",
2014cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/data",
2114cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/convert",
2214cf0368Sopenharmony_ci    "${udmf_interfaces_path}/ndk/data",
2314cf0368Sopenharmony_ci    "${udmf_framework_path}/common",
2414cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/client",
2514cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data",
2614cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/service",
2714cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/convert",
2814cf0368Sopenharmony_ci    "${udmf_framework_path}/ndkimpl/data",
2914cf0368Sopenharmony_ci    "${kv_store_path}/frameworks/common",
3014cf0368Sopenharmony_ci    "//third_party/libuv/include",
3114cf0368Sopenharmony_ci    "//third_party/node/src",
3214cf0368Sopenharmony_ci    "${kv_store_path}/frameworks/innerkitsimpl/distributeddatafwk/include",
3314cf0368Sopenharmony_ci    "${kv_store_path}/frameworks/innerkitsimpl/distributeddatafwk/src",
3414cf0368Sopenharmony_ci    "${kv_store_path}/frameworks/innerkitsimpl/distributeddatasvc/include",
3514cf0368Sopenharmony_ci    "${kv_store_path}/interfaces/innerkits/distributeddata/include",
3614cf0368Sopenharmony_ci    "${file_service_path}/interfaces/common/include",
3714cf0368Sopenharmony_ci    "${file_service_path}/interfaces/innerkits/native/file_uri/include",
3814cf0368Sopenharmony_ci  ]
3914cf0368Sopenharmony_ci}
4014cf0368Sopenharmony_ci
4114cf0368Sopenharmony_ciohos_shared_library("udmf_client") {
4214cf0368Sopenharmony_ci  branch_protector_ret = "pac_ret"
4314cf0368Sopenharmony_ci  sanitize = {
4414cf0368Sopenharmony_ci    ubsan = true
4514cf0368Sopenharmony_ci    boundary_sanitize = true
4614cf0368Sopenharmony_ci    cfi = true
4714cf0368Sopenharmony_ci    cfi_cross_dso = true
4814cf0368Sopenharmony_ci    debug = false
4914cf0368Sopenharmony_ci  }
5014cf0368Sopenharmony_ci  sources = [
5114cf0368Sopenharmony_ci    "${udmf_framework_path}/common/endian_converter.cpp",
5214cf0368Sopenharmony_ci    "${udmf_framework_path}/common/tlv_object.cpp",
5314cf0368Sopenharmony_ci    "${udmf_framework_path}/common/tlv_util.cpp",
5414cf0368Sopenharmony_ci    "${udmf_framework_path}/common/udmf_radar_reporter.cpp",
5514cf0368Sopenharmony_ci    "${udmf_framework_path}/common/udmf_types_util.cpp",
5614cf0368Sopenharmony_ci    "${udmf_framework_path}/common/udmf_utils.cpp",
5714cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/client/async_obtain_data.cpp",
5814cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/client/getter_system.cpp",
5914cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/client/udmf_client.cpp",
6014cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/common/unified_key.cpp",
6114cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/common/unified_meta.cpp",
6214cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/convert/ndk_data_conversion.cpp",
6314cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/convert/udmf_conversion.cpp",
6414cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/application_defined_record.cpp",
6514cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/audio.cpp",
6614cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/file.cpp",
6714cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/folder.cpp",
6814cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/html.cpp",
6914cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/image.cpp",
7014cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/link.cpp",
7114cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/plain_text.cpp",
7214cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/system_defined_appitem.cpp",
7314cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/system_defined_form.cpp",
7414cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/system_defined_pixelmap.cpp",
7514cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/system_defined_record.cpp",
7614cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/text.cpp",
7714cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/unified_data.cpp",
7814cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/unified_data_helper.cpp",
7914cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/unified_record.cpp",
8014cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/video.cpp",
8114cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/service/udmf_service_client.cpp",
8214cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/service/udmf_service_proxy.cpp",
8314cf0368Sopenharmony_ci  ]
8414cf0368Sopenharmony_ci
8514cf0368Sopenharmony_ci  public_configs = [ ":udmf_client_config" ]
8614cf0368Sopenharmony_ci
8714cf0368Sopenharmony_ci  external_deps = [
8814cf0368Sopenharmony_ci    "ability_base:zuri",
8914cf0368Sopenharmony_ci    "access_token:libaccesstoken_sdk",
9014cf0368Sopenharmony_ci    "app_file_service:fileuri_native",
9114cf0368Sopenharmony_ci    "bundle_framework:appexecfwk_core",
9214cf0368Sopenharmony_ci    "cJSON:cjson",
9314cf0368Sopenharmony_ci    "c_utils:utils",
9414cf0368Sopenharmony_ci    "hilog:libhilog",
9514cf0368Sopenharmony_ci    "hisysevent:libhisysevent",
9614cf0368Sopenharmony_ci    "hitrace:hitrace_meter",
9714cf0368Sopenharmony_ci    "hitrace:libhitracechain",
9814cf0368Sopenharmony_ci    "image_framework:image_native",
9914cf0368Sopenharmony_ci    "ipc:ipc_core",
10014cf0368Sopenharmony_ci    "kv_store:distributeddata_inner",
10114cf0368Sopenharmony_ci    "kv_store:distributeddata_mgr",
10214cf0368Sopenharmony_ci    "samgr:samgr_proxy",
10314cf0368Sopenharmony_ci  ]
10414cf0368Sopenharmony_ci
10514cf0368Sopenharmony_ci  public_external_deps = [
10614cf0368Sopenharmony_ci    "ability_base:want",
10714cf0368Sopenharmony_ci    "cJSON:cjson",
10814cf0368Sopenharmony_ci    "image_framework:image",
10914cf0368Sopenharmony_ci  ]
11014cf0368Sopenharmony_ci
11114cf0368Sopenharmony_ci  innerapi_tags = [ "platformsdk" ]
11214cf0368Sopenharmony_ci  subsystem_name = "distributeddatamgr"
11314cf0368Sopenharmony_ci
11414cf0368Sopenharmony_ci  part_name = "udmf"
11514cf0368Sopenharmony_ci  use_exceptions = true
11614cf0368Sopenharmony_ci  cflags_cc = [ "-fvisibility=hidden" ]
11714cf0368Sopenharmony_ci}
11814cf0368Sopenharmony_ci
11914cf0368Sopenharmony_ciconfig("utd_client_config") {
12014cf0368Sopenharmony_ci  include_dirs = [
12114cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/client",
12214cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/common",
12314cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/data",
12414cf0368Sopenharmony_ci    "${udmf_framework_path}/common",
12514cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data",
12614cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/service",
12714cf0368Sopenharmony_ci  ]
12814cf0368Sopenharmony_ci}
12914cf0368Sopenharmony_ci
13014cf0368Sopenharmony_ciohos_shared_library("utd_client") {
13114cf0368Sopenharmony_ci  branch_protector_ret = "pac_ret"
13214cf0368Sopenharmony_ci  sanitize = {
13314cf0368Sopenharmony_ci    cfi = true
13414cf0368Sopenharmony_ci    cfi_cross_dso = true
13514cf0368Sopenharmony_ci    debug = false
13614cf0368Sopenharmony_ci  }
13714cf0368Sopenharmony_ci
13814cf0368Sopenharmony_ci  sources = [
13914cf0368Sopenharmony_ci    "${udmf_framework_path}/common/base32_utils.cpp",
14014cf0368Sopenharmony_ci    "${udmf_framework_path}/common/custom_utd_json_parser.cpp",
14114cf0368Sopenharmony_ci    "${udmf_framework_path}/common/custom_utd_store.cpp",
14214cf0368Sopenharmony_ci    "${udmf_framework_path}/common/graph.cpp",
14314cf0368Sopenharmony_ci    "${udmf_framework_path}/common/udmf_utils.cpp",
14414cf0368Sopenharmony_ci    "${udmf_framework_path}/common/utd_cfgs_checker.cpp",
14514cf0368Sopenharmony_ci    "${udmf_framework_path}/common/utd_graph.cpp",
14614cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/client/utd_client.cpp",
14714cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/flexible_type.cpp",
14814cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/preset_type_descriptors.cpp",
14914cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/data/type_descriptor.cpp",
15014cf0368Sopenharmony_ci  ]
15114cf0368Sopenharmony_ci
15214cf0368Sopenharmony_ci  public_configs = [ ":utd_client_config" ]
15314cf0368Sopenharmony_ci
15414cf0368Sopenharmony_ci  external_deps = [
15514cf0368Sopenharmony_ci    "access_token:libaccesstoken_sdk",
15614cf0368Sopenharmony_ci    "cJSON:cjson",
15714cf0368Sopenharmony_ci    "c_utils:utils",
15814cf0368Sopenharmony_ci    "hilog:libhilog",
15914cf0368Sopenharmony_ci    "ipc:ipc_core",
16014cf0368Sopenharmony_ci    "os_account:os_account_innerkits",
16114cf0368Sopenharmony_ci  ]
16214cf0368Sopenharmony_ci
16314cf0368Sopenharmony_ci  public_external_deps = [ "cJSON:cjson" ]
16414cf0368Sopenharmony_ci  use_exceptions = true
16514cf0368Sopenharmony_ci  innerapi_tags = [ "platformsdk" ]
16614cf0368Sopenharmony_ci  subsystem_name = "distributeddatamgr"
16714cf0368Sopenharmony_ci
16814cf0368Sopenharmony_ci  part_name = "udmf"
16914cf0368Sopenharmony_ci  cflags_cc = [ "-fvisibility=hidden" ]
17014cf0368Sopenharmony_ci  if (build_selinux) {
17114cf0368Sopenharmony_ci    cflags = [ "-DWITH_SELINUX" ]
17214cf0368Sopenharmony_ci    external_deps += [ "selinux_adapter:librestorecon" ]
17314cf0368Sopenharmony_ci  }
17414cf0368Sopenharmony_ci}
175