114cf0368Sopenharmony_ci# Copyright (c) 2024 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_ciohos_shared_library("libudmf") {
1714cf0368Sopenharmony_ci  branch_protector_ret = "pac_ret"
1814cf0368Sopenharmony_ci  sanitize = {
1914cf0368Sopenharmony_ci    cfi = true
2014cf0368Sopenharmony_ci    cfi_cross_dso = true
2114cf0368Sopenharmony_ci    debug = false
2214cf0368Sopenharmony_ci  }
2314cf0368Sopenharmony_ci
2414cf0368Sopenharmony_ci  include_dirs = [
2514cf0368Sopenharmony_ci    "${udmf_interfaces_path}/ndk/data",
2614cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/client",
2714cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/common",
2814cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits/data",
2914cf0368Sopenharmony_ci    "${udmf_framework_path}/common",
3014cf0368Sopenharmony_ci  ]
3114cf0368Sopenharmony_ci  sources = [
3214cf0368Sopenharmony_ci    "${udmf_framework_path}/innerkitsimpl/common/unified_meta.cpp",
3314cf0368Sopenharmony_ci    "${udmf_framework_path}/ndkimpl/data/data_provider_impl.cpp",
3414cf0368Sopenharmony_ci    "${udmf_framework_path}/ndkimpl/data/udmf.cpp",
3514cf0368Sopenharmony_ci    "${udmf_framework_path}/ndkimpl/data/uds.cpp",
3614cf0368Sopenharmony_ci    "${udmf_framework_path}/ndkimpl/data/utd.cpp",
3714cf0368Sopenharmony_ci  ]
3814cf0368Sopenharmony_ci
3914cf0368Sopenharmony_ci  defines = [ "API_EXPORT=__attribute__((visibility (\"default\")))" ]
4014cf0368Sopenharmony_ci
4114cf0368Sopenharmony_ci  deps = [
4214cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits:udmf_client",
4314cf0368Sopenharmony_ci    "${udmf_interfaces_path}/innerkits:utd_client",
4414cf0368Sopenharmony_ci  ]
4514cf0368Sopenharmony_ci
4614cf0368Sopenharmony_ci  external_deps = [
4714cf0368Sopenharmony_ci    "ability_base:base",
4814cf0368Sopenharmony_ci    "ability_base:want",
4914cf0368Sopenharmony_ci    "c_utils:utils",
5014cf0368Sopenharmony_ci    "hilog:libhilog",
5114cf0368Sopenharmony_ci    "image_framework:image",
5214cf0368Sopenharmony_ci    "image_framework:image_native",
5314cf0368Sopenharmony_ci    "image_framework:pixelmap",
5414cf0368Sopenharmony_ci  ]
5514cf0368Sopenharmony_ci
5614cf0368Sopenharmony_ci  relative_install_dir = "ndk"
5714cf0368Sopenharmony_ci  part_name = "udmf"
5814cf0368Sopenharmony_ci  subsystem_name = "distributeddatamgr"
5914cf0368Sopenharmony_ci  output_name = "udmf"
6014cf0368Sopenharmony_ci  output_extension = "so"
6114cf0368Sopenharmony_ci}
62