1# Copyright (c) 2022-2025 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}/innerkits/include", 22 "${udmf_interfaces_path}/jskits/common", 23 "${udmf_interfaces_path}/jskits/data", 24 "${udmf_framework_path}/common", 25 "${udmf_framework_path}/innerkits/service", 26 ] 27} 28 29ohos_shared_library("unifieddatachannel_napi") { 30 branch_protector_ret = "pac_ret" 31 sanitize = { 32 ubsan = true 33 boundary_sanitize = true 34 cfi = true 35 cfi_cross_dso = true 36 debug = false 37 } 38 sources = [ 39 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 40 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 41 "${udmf_framework_path}/jskitsimpl/data/data_load_params_napi.cpp", 42 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 43 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 44 "${udmf_framework_path}/jskitsimpl/data/get_data_params_napi.cpp", 45 "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp", 46 "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp", 47 "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp", 48 "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp", 49 "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp", 50 "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp", 51 "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp", 52 "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp", 53 "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp", 54 "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp", 55 "${udmf_framework_path}/jskitsimpl/data/unified_data_channel_napi.cpp", 56 "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp", 57 "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp", 58 "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp", 59 "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp", 60 "${udmf_interfaces_path}/jskits/module/unified_data_channel_napi_module.cpp", 61 ] 62 63 ldflags = [ "-Wl,--exclude-libs=ALL" ] 64 65 public_configs = [ ":udmf_napi_config" ] 66 67 deps = [ 68 "../innerkits:udmf_client", 69 "../innerkits:utd_client", 70 "../jskits:udmf_js_common", 71 ] 72 73 external_deps = [ 74 "ability_base:want", 75 "ability_runtime:abilitykit_native", 76 "ability_runtime:napi_common", 77 "c_utils:utils", 78 "hilog:libhilog", 79 "ipc:ipc_core", 80 "kv_store:distributeddata_inner", 81 "napi:ace_napi", 82 ] 83 84 public_external_deps = [ "image_framework:image" ] 85 cflags = [ 86 "-fvisibility=hidden", 87 "-O2", 88 ] 89 relative_install_dir = "module/data" 90 subsystem_name = "distributeddatamgr" 91 part_name = "udmf" 92} 93 94ohos_shared_library("uniformtypedescriptor_napi") { 95 branch_protector_ret = "pac_ret" 96 sanitize = { 97 ubsan = true 98 boundary_sanitize = true 99 cfi = true 100 cfi_cross_dso = true 101 debug = false 102 } 103 sources = [ 104 "${udmf_framework_path}/jskitsimpl/data/type_descriptor_napi.cpp", 105 "${udmf_framework_path}/jskitsimpl/data/uniform_type_descriptor_napi.cpp", 106 "${udmf_interfaces_path}/jskits/module/uniform_type_descriptor_napi_module.cpp", 107 ] 108 109 ldflags = [ "-Wl,--exclude-libs=ALL" ] 110 111 public_configs = [ ":udmf_napi_config" ] 112 113 deps = [ 114 "../innerkits:udmf_client", 115 "../innerkits:utd_client", 116 "../jskits:udmf_js_common", 117 ] 118 119 external_deps = [ 120 "ability_runtime:abilitykit_native", 121 "ability_runtime:napi_common", 122 "hilog:libhilog", 123 "ipc:ipc_core", 124 "napi:ace_napi", 125 ] 126 127 public_external_deps = [ "image_framework:image" ] 128 cflags = [ 129 "-fvisibility=hidden", 130 "-O2", 131 ] 132 relative_install_dir = "module/data" 133 subsystem_name = "distributeddatamgr" 134 part_name = "udmf" 135} 136 137ohos_shared_library("udmf_data_napi") { 138 branch_protector_ret = "pac_ret" 139 sanitize = { 140 ubsan = true 141 boundary_sanitize = true 142 cfi = true 143 cfi_cross_dso = true 144 debug = false 145 } 146 sources = [ 147 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 148 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 149 "${udmf_framework_path}/jskitsimpl/data/data_load_params_napi.cpp", 150 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 151 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 152 "${udmf_framework_path}/jskitsimpl/data/get_data_params_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 "../innerkits:udmf_client", 177 "../innerkits:utd_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 = [ 194 "-fvisibility=hidden", 195 "-O2", 196 ] 197 subsystem_name = "distributeddatamgr" 198 part_name = "udmf" 199} 200 201ohos_static_library("udmf_js_common") { 202 branch_protector_ret = "pac_ret" 203 sanitize = { 204 ubsan = true 205 boundary_sanitize = true 206 cfi = true 207 cfi_cross_dso = true 208 debug = false 209 } 210 sources = [ 211 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 212 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 213 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 214 ] 215 216 ldflags = [ "-Wl,--exclude-libs=ALL" ] 217 cflags = [ 218 "-fvisibility=hidden", 219 "-O2", 220 ] 221 include_dirs = [ "${udmf_interfaces_path}/jskits/common" ] 222 223 public_configs = [ ":udmf_napi_config" ] 224 external_deps = [ 225 "ability_runtime:abilitykit_native", 226 "ability_runtime:napi_common", 227 "hilog:libhilog", 228 "ipc:ipc_single", 229 "napi:ace_napi", 230 ] 231 public_external_deps = [ "image_framework:image" ] 232 subsystem_name = "distributeddatamgr" 233 part_name = "udmf" 234} 235 236ohos_shared_library("intelligence_napi") { 237 branch_protector_ret = "pac_ret" 238 239 sanitize = { 240 integer_overflow = true 241 ubsan = true 242 boundary_sanitize = true 243 cfi = true 244 cfi_cross_dso = true 245 debug = false 246 } 247 248 sources = [ 249 "${udmf_framework_path}/jskitsimpl/intelligence/aip_napi_error.cpp", 250 "${udmf_framework_path}/jskitsimpl/intelligence/aip_napi_utils.cpp", 251 "${udmf_framework_path}/jskitsimpl/intelligence/i_aip_core_manager_impl.cpp", 252 "${udmf_framework_path}/jskitsimpl/intelligence/image_embedding_napi.cpp", 253 "${udmf_framework_path}/jskitsimpl/intelligence/js_ability.cpp", 254 "${udmf_framework_path}/jskitsimpl/intelligence/native_module_intelligence.cpp", 255 "${udmf_framework_path}/jskitsimpl/intelligence/text_embedding_napi.cpp", 256 ] 257 258 include_dirs = [ "${udmf_interfaces_path}/jskits/intelligence" ] 259 260 deps = [ "../innerkits/aipcore:aip_core_mgr_static" ] 261 262 external_deps = [ 263 "ability_runtime:abilitykit_native", 264 "ability_runtime:napi_base_context", 265 "c_utils:utils", 266 "hilog:libhilog", 267 "ipc:ipc_single", 268 "napi:ace_napi", 269 ] 270 271 defines = [ "LOG_DOMAIN = 0xD001660" ] 272 relative_install_dir = "module/data" 273 subsystem_name = "distributeddatamgr" 274 part_name = "udmf" 275}