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. 13import("//build/ohos.gni") 14import("//foundation/distributeddatamgr/udmf/udmf.gni") 15 16config("udmf_napi_config") { 17 include_dirs = [ 18 "${udmf_interfaces_path}/innerkits/client", 19 "${udmf_interfaces_path}/innerkits/common", 20 "${udmf_interfaces_path}/innerkits/data", 21 "${udmf_interfaces_path}/jskits/common", 22 "${udmf_interfaces_path}/jskits/data", 23 24 "${udmf_framework_path}/common", 25 "${udmf_framework_path}/innerkits/service", 26 27 "//third_party/libuv/include", 28 "//third_party/node/src", 29 30 "${aafwk_inner_api_path}/ability_manager/include", 31 "${aafwk_kits_path}/appkit/native/app/include/", 32 "${aafwk_kits_path}/ability/native/include", 33 "${aafwk_napi_path}/inner/napi_common", 34 "${aafwk_service_path}/abilitymgr/include", 35 "${aafwk_service_path}/common/include", 36 ] 37} 38 39ohos_shared_library("unifieddatachannel_napi") { 40 branch_protector_ret = "pac_ret" 41 sanitize = { 42 ubsan = true 43 boundary_sanitize = true 44 cfi = true 45 cfi_cross_dso = true 46 debug = false 47 } 48 sources = [ 49 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 50 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 51 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 52 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 53 "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp", 54 "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp", 55 "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp", 56 "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp", 57 "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp", 58 "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp", 59 "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp", 60 "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp", 61 "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp", 62 "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp", 63 "${udmf_framework_path}/jskitsimpl/data/unified_data_channel_napi.cpp", 64 "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp", 65 "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp", 66 "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp", 67 "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp", 68 "${udmf_interfaces_path}/jskits/module/unified_data_channel_napi_module.cpp", 69 ] 70 71 ldflags = [ "-Wl,--exclude-libs=ALL" ] 72 73 public_configs = [ ":udmf_napi_config" ] 74 75 deps = [ 76 "${third_party_path}/bounds_checking_function:libsec_shared", 77 "../innerkits:udmf_client", 78 "../jskits:udmf_js_common", 79 ] 80 81 external_deps = [ 82 "ability_base:want", 83 "ability_runtime:abilitykit_native", 84 "ability_runtime:napi_common", 85 "c_utils:utils", 86 "hilog:libhilog", 87 "ipc:ipc_core", 88 "kv_store:distributeddata_inner", 89 "napi:ace_napi", 90 ] 91 92 public_external_deps = [ "image_framework:image" ] 93 cflags = [ "-fvisibility=hidden" ] 94 relative_install_dir = "module/data" 95 subsystem_name = "distributeddatamgr" 96 part_name = "udmf" 97} 98 99ohos_shared_library("uniformtypedescriptor_napi") { 100 branch_protector_ret = "pac_ret" 101 sanitize = { 102 ubsan = true 103 boundary_sanitize = true 104 cfi = true 105 cfi_cross_dso = true 106 debug = false 107 } 108 sources = [ 109 "${udmf_framework_path}/jskitsimpl/data/type_descriptor_napi.cpp", 110 "${udmf_framework_path}/jskitsimpl/data/uniform_type_descriptor_napi.cpp", 111 "${udmf_interfaces_path}/jskits/module/uniform_type_descriptor_napi_module.cpp", 112 ] 113 114 ldflags = [ "-Wl,--exclude-libs=ALL" ] 115 116 public_configs = [ ":udmf_napi_config" ] 117 118 deps = [ 119 "${third_party_path}/bounds_checking_function:libsec_shared", 120 "../innerkits:udmf_client", 121 "../innerkits:utd_client", 122 "../jskits:udmf_js_common", 123 ] 124 125 external_deps = [ 126 "ability_runtime:abilitykit_native", 127 "hilog:libhilog", 128 "ipc:ipc_core", 129 "napi:ace_napi", 130 ] 131 132 public_external_deps = [ "image_framework:image" ] 133 cflags = [ "-fvisibility=hidden" ] 134 relative_install_dir = "module/data" 135 subsystem_name = "distributeddatamgr" 136 part_name = "udmf" 137} 138 139ohos_shared_library("udmf_data_napi") { 140 branch_protector_ret = "pac_ret" 141 sanitize = { 142 ubsan = true 143 boundary_sanitize = true 144 cfi = true 145 cfi_cross_dso = true 146 debug = false 147 } 148 sources = [ 149 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 150 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 151 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 152 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 153 "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp", 154 "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp", 155 "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp", 156 "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp", 157 "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp", 158 "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp", 159 "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp", 160 "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp", 161 "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp", 162 "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp", 163 "${udmf_framework_path}/jskitsimpl/data/unified_data_channel_napi.cpp", 164 "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp", 165 "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp", 166 "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp", 167 "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp", 168 "${udmf_interfaces_path}/jskits/module/unified_data_channel_napi_module.cpp", 169 ] 170 171 ldflags = [ "-Wl,--exclude-libs=ALL" ] 172 173 public_configs = [ ":udmf_napi_config" ] 174 175 deps = [ 176 "${third_party_path}/bounds_checking_function:libsec_shared", 177 "../innerkits:udmf_client", 178 "../jskits:udmf_js_common", 179 ] 180 181 external_deps = [ 182 "ability_base:want", 183 "ability_runtime:abilitykit_native", 184 "ability_runtime:napi_common", 185 "c_utils:utils", 186 "hilog:libhilog", 187 "ipc:ipc_core", 188 "kv_store:distributeddata_inner", 189 "napi:ace_napi", 190 ] 191 192 public_external_deps = [ "image_framework:image" ] 193 cflags = [ "-fvisibility=hidden" ] 194 subsystem_name = "distributeddatamgr" 195 part_name = "udmf" 196} 197 198ohos_static_library("udmf_js_common") { 199 branch_protector_ret = "pac_ret" 200 sanitize = { 201 ubsan = true 202 boundary_sanitize = true 203 cfi = true 204 cfi_cross_dso = true 205 debug = false 206 } 207 sources = [ 208 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 209 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 210 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 211 ] 212 213 ldflags = [ "-Wl,--exclude-libs=ALL" ] 214 cflags = [ "-fvisibility=hidden" ] 215 include_dirs = [ "${udmf_interfaces_path}/jskits/common" ] 216 217 public_configs = [ ":udmf_napi_config" ] 218 external_deps = [ 219 "ability_runtime:abilitykit_native", 220 "hilog:libhilog", 221 "napi:ace_napi", 222 ] 223 public_external_deps = [ "image_framework:image" ] 224 subsystem_name = "distributeddatamgr" 225 part_name = "udmf" 226} 227