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("//build/ohos/ace/ace.gni")
1514cf0368Sopenharmony_ciimport("//foundation/distributeddatamgr/udmf/udmf.gni")
1614cf0368Sopenharmony_ci
1714cf0368Sopenharmony_ciohos_shared_library("cj_unified_data_channel_ffi") {
1814cf0368Sopenharmony_ci  branch_protector_ret = "pac_ret"
1914cf0368Sopenharmony_ci  sanitize = {
2014cf0368Sopenharmony_ci    cfi = true
2114cf0368Sopenharmony_ci    cfi_cross_dso = true
2214cf0368Sopenharmony_ci    debug = false
2314cf0368Sopenharmony_ci  }
2414cf0368Sopenharmony_ci
2514cf0368Sopenharmony_ci  include_dirs = [
2614cf0368Sopenharmony_ci    "${udmf_interfaces_path}/cj/include",
2714cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/client",
2814cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/common",
2914cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/data",
3014cf0368Sopenharmony_ci    "${udmf_interfaces_path}/jskits/common",
3114cf0368Sopenharmony_ci    "${udmf_interfaces_path}/jskits/data",
3214cf0368Sopenharmony_ci
3314cf0368Sopenharmony_ci    "${udmf_framework_path}/common",
3414cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkits/service",
3514cf0368Sopenharmony_ci  ]
3614cf0368Sopenharmony_ci
3714cf0368Sopenharmony_ci  if (product_name != "ohos-sdk") {
3814cf0368Sopenharmony_ci    sources = [
3914cf0368Sopenharmony_ci      "${udmf_interfaces_path}/cj/src/unified_data_ffi.cpp",
4014cf0368Sopenharmony_ci      "${udmf_interfaces_path}/cj/src/unified_data_impl.cpp",
4114cf0368Sopenharmony_ci      "${udmf_interfaces_path}/cj/src/unified_record_ffi.cpp",
4214cf0368Sopenharmony_ci      "${udmf_interfaces_path}/cj/src/unified_record_impl.cpp",
4314cf0368Sopenharmony_ci      "${udmf_interfaces_path}/cj/src/utils.cpp",
4414cf0368Sopenharmony_ci    ]
4514cf0368Sopenharmony_ci
4614cf0368Sopenharmony_ci    deps = [ "../innerkits:udmf_client" ]
4714cf0368Sopenharmony_ci
4814cf0368Sopenharmony_ci    external_deps = [
4914cf0368Sopenharmony_ci      "ability_base:base",
5014cf0368Sopenharmony_ci      "ability_base:want",
5114cf0368Sopenharmony_ci      "ability_runtime:abilitykit_native",
5214cf0368Sopenharmony_ci      "ability_runtime:napi_common",
5314cf0368Sopenharmony_ci      "c_utils:utils",
5414cf0368Sopenharmony_ci      "hilog:libhilog",
5514cf0368Sopenharmony_ci      "image_framework:cj_image_ffi",
5614cf0368Sopenharmony_ci      "ipc:ipc_core",
5714cf0368Sopenharmony_ci      "kv_store:distributeddata_inner",
5814cf0368Sopenharmony_ci      "napi:ace_napi",
5914cf0368Sopenharmony_ci      "napi:cj_bind_ffi",
6014cf0368Sopenharmony_ci      "napi:cj_bind_native",
6114cf0368Sopenharmony_ci    ]
6214cf0368Sopenharmony_ci
6314cf0368Sopenharmony_ci    public_external_deps = [ "image_framework:image" ]
6414cf0368Sopenharmony_ci  }
6514cf0368Sopenharmony_ci
6614cf0368Sopenharmony_ci  # cflags = [ "-fvisibility=hidden" ]
6714cf0368Sopenharmony_ci  innerapi_tags = [ "platformsdk" ]
6814cf0368Sopenharmony_ci  subsystem_name = "distributeddatamgr"
6914cf0368Sopenharmony_ci  part_name = "udmf"
7014cf0368Sopenharmony_ci}
7114cf0368Sopenharmony_ci
7214cf0368Sopenharmony_ciohos_shared_library("cj_uniform_type_descriptor_ffi") {
7314cf0368Sopenharmony_ci  branch_protector_ret = "pac_ret"
7414cf0368Sopenharmony_ci  sanitize = {
7514cf0368Sopenharmony_ci    cfi = true
7614cf0368Sopenharmony_ci    cfi_cross_dso = true
7714cf0368Sopenharmony_ci    debug = false
7814cf0368Sopenharmony_ci  }
7914cf0368Sopenharmony_ci
8014cf0368Sopenharmony_ci  include_dirs = [
8114cf0368Sopenharmony_ci    "${udmf_interfaces_path}/cj/include",
8214cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/client",
8314cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/common",
8414cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/data",
8514cf0368Sopenharmony_ci    "${udmf_interfaces_path}/jskits/common",
8614cf0368Sopenharmony_ci    "${udmf_interfaces_path}/jskits/data",
8714cf0368Sopenharmony_ci
8814cf0368Sopenharmony_ci    "${udmf_framework_path}/common",
8914cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkits/service",
9014cf0368Sopenharmony_ci  ]
9114cf0368Sopenharmony_ci
9214cf0368Sopenharmony_ci  if (product_name != "ohos-sdk") {
9314cf0368Sopenharmony_ci    sources = [
9414cf0368Sopenharmony_ci      "${udmf_interfaces_path}/cj/src/type_descriptor_ffi.cpp",
9514cf0368Sopenharmony_ci      "${udmf_interfaces_path}/cj/src/type_descriptor_impl.cpp",
9614cf0368Sopenharmony_ci      "${udmf_interfaces_path}/cj/src/uniform_type_descriptor_ffi.cpp",
9714cf0368Sopenharmony_ci      "${udmf_interfaces_path}/cj/src/uniform_type_descriptor_impl.cpp",
9814cf0368Sopenharmony_ci      "${udmf_interfaces_path}/cj/src/utils.cpp",
9914cf0368Sopenharmony_ci    ]
10014cf0368Sopenharmony_ci
10114cf0368Sopenharmony_ci    deps = [
10214cf0368Sopenharmony_ci      "../innerkits:udmf_client",
10314cf0368Sopenharmony_ci      "../innerkits:utd_client",
10414cf0368Sopenharmony_ci    ]
10514cf0368Sopenharmony_ci
10614cf0368Sopenharmony_ci    external_deps = [
10714cf0368Sopenharmony_ci      "ability_base:base",
10814cf0368Sopenharmony_ci      "ability_base:want",
10914cf0368Sopenharmony_ci      "ability_runtime:abilitykit_native",
11014cf0368Sopenharmony_ci      "ability_runtime:napi_common",
11114cf0368Sopenharmony_ci      "c_utils:utils",
11214cf0368Sopenharmony_ci      "hilog:libhilog",
11314cf0368Sopenharmony_ci      "image_framework:cj_image_ffi",
11414cf0368Sopenharmony_ci      "ipc:ipc_core",
11514cf0368Sopenharmony_ci      "kv_store:distributeddata_inner",
11614cf0368Sopenharmony_ci      "napi:ace_napi",
11714cf0368Sopenharmony_ci      "napi:cj_bind_ffi",
11814cf0368Sopenharmony_ci      "napi:cj_bind_native",
11914cf0368Sopenharmony_ci    ]
12014cf0368Sopenharmony_ci
12114cf0368Sopenharmony_ci    public_external_deps = [ "image_framework:image" ]
12214cf0368Sopenharmony_ci  }
12314cf0368Sopenharmony_ci
12414cf0368Sopenharmony_ci  # cflags = [ "-fvisibility=hidden" ]
12514cf0368Sopenharmony_ci  innerapi_tags = [ "platformsdk" ]
12614cf0368Sopenharmony_ci  subsystem_name = "distributeddatamgr"
12714cf0368Sopenharmony_ci  part_name = "udmf"
12814cf0368Sopenharmony_ci}
129