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 39config("aip_core_napi_config") { 40 include_dirs = [ "${udmf_interfaces_path}/jskits/intelligence" ] 41} 42 43ohos_shared_library("unifieddatachannel_napi") { 44 branch_protector_ret = "pac_ret" 45 sanitize = { 46 ubsan = true 47 boundary_sanitize = true 48 cfi = true 49 cfi_cross_dso = true 50 debug = false 51 } 52 sources = [ 53 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 54 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 55 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 56 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 57 "${udmf_framework_path}/jskitsimpl/data/get_data_params_napi.cpp", 58 "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp", 59 "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp", 60 "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp", 61 "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp", 62 "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp", 63 "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp", 64 "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp", 65 "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp", 66 "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp", 67 "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp", 68 "${udmf_framework_path}/jskitsimpl/data/unified_data_channel_napi.cpp", 69 "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp", 70 "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp", 71 "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp", 72 "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp", 73 "${udmf_interfaces_path}/jskits/module/unified_data_channel_napi_module.cpp", 74 ] 75 76 ldflags = [ "-Wl,--exclude-libs=ALL" ] 77 78 public_configs = [ ":udmf_napi_config" ] 79 80 deps = [ 81 "${third_party_path}/bounds_checking_function:libsec_shared", 82 "../innerkits:udmf_client", 83 "../innerkits:utd_client", 84 "../jskits:udmf_js_common", 85 ] 86 87 external_deps = [ 88 "ability_base:want", 89 "ability_runtime:abilitykit_native", 90 "ability_runtime:napi_common", 91 "c_utils:utils", 92 "hilog:libhilog", 93 "ipc:ipc_core", 94 "kv_store:distributeddata_inner", 95 "napi:ace_napi", 96 ] 97 98 public_external_deps = [ "image_framework:image" ] 99 cflags = [ 100 "-fvisibility=hidden", 101 "-O2", 102 ] 103 relative_install_dir = "module/data" 104 subsystem_name = "distributeddatamgr" 105 part_name = "udmf" 106} 107 108ohos_shared_library("uniformtypedescriptor_napi") { 109 branch_protector_ret = "pac_ret" 110 sanitize = { 111 ubsan = true 112 boundary_sanitize = true 113 cfi = true 114 cfi_cross_dso = true 115 debug = false 116 } 117 sources = [ 118 "${udmf_framework_path}/jskitsimpl/data/type_descriptor_napi.cpp", 119 "${udmf_framework_path}/jskitsimpl/data/uniform_type_descriptor_napi.cpp", 120 "${udmf_interfaces_path}/jskits/module/uniform_type_descriptor_napi_module.cpp", 121 ] 122 123 ldflags = [ "-Wl,--exclude-libs=ALL" ] 124 125 public_configs = [ ":udmf_napi_config" ] 126 127 deps = [ 128 "${third_party_path}/bounds_checking_function:libsec_shared", 129 "../innerkits:udmf_client", 130 "../innerkits:utd_client", 131 "../jskits:udmf_js_common", 132 ] 133 134 external_deps = [ 135 "ability_runtime:abilitykit_native", 136 "hilog:libhilog", 137 "ipc:ipc_core", 138 "napi:ace_napi", 139 ] 140 141 public_external_deps = [ "image_framework:image" ] 142 cflags = [ 143 "-fvisibility=hidden", 144 "-O2", 145 ] 146 relative_install_dir = "module/data" 147 subsystem_name = "distributeddatamgr" 148 part_name = "udmf" 149} 150 151ohos_shared_library("udmf_data_napi") { 152 branch_protector_ret = "pac_ret" 153 sanitize = { 154 ubsan = true 155 boundary_sanitize = true 156 cfi = true 157 cfi_cross_dso = true 158 debug = false 159 } 160 sources = [ 161 "${udmf_framework_path}/jskitsimpl/data/application_defined_record_napi.cpp", 162 "${udmf_framework_path}/jskitsimpl/data/audio_napi.cpp", 163 "${udmf_framework_path}/jskitsimpl/data/file_napi.cpp", 164 "${udmf_framework_path}/jskitsimpl/data/folder_napi.cpp", 165 "${udmf_framework_path}/jskitsimpl/data/get_data_params_napi.cpp", 166 "${udmf_framework_path}/jskitsimpl/data/html_napi.cpp", 167 "${udmf_framework_path}/jskitsimpl/data/image_napi.cpp", 168 "${udmf_framework_path}/jskitsimpl/data/link_napi.cpp", 169 "${udmf_framework_path}/jskitsimpl/data/plain_text_napi.cpp", 170 "${udmf_framework_path}/jskitsimpl/data/summary_napi.cpp", 171 "${udmf_framework_path}/jskitsimpl/data/system_defined_appitem_napi.cpp", 172 "${udmf_framework_path}/jskitsimpl/data/system_defined_form_napi.cpp", 173 "${udmf_framework_path}/jskitsimpl/data/system_defined_pixelmap_napi.cpp", 174 "${udmf_framework_path}/jskitsimpl/data/system_defined_record_napi.cpp", 175 "${udmf_framework_path}/jskitsimpl/data/text_napi.cpp", 176 "${udmf_framework_path}/jskitsimpl/data/unified_data_channel_napi.cpp", 177 "${udmf_framework_path}/jskitsimpl/data/unified_data_napi.cpp", 178 "${udmf_framework_path}/jskitsimpl/data/unified_data_properties_napi.cpp", 179 "${udmf_framework_path}/jskitsimpl/data/unified_record_napi.cpp", 180 "${udmf_framework_path}/jskitsimpl/data/video_napi.cpp", 181 "${udmf_interfaces_path}/jskits/module/unified_data_channel_napi_module.cpp", 182 ] 183 184 ldflags = [ "-Wl,--exclude-libs=ALL" ] 185 186 public_configs = [ ":udmf_napi_config" ] 187 188 deps = [ 189 "${third_party_path}/bounds_checking_function:libsec_shared", 190 "../innerkits:udmf_client", 191 "../innerkits:utd_client", 192 "../jskits:udmf_js_common", 193 ] 194 195 external_deps = [ 196 "ability_base:want", 197 "ability_runtime:abilitykit_native", 198 "ability_runtime:napi_common", 199 "c_utils:utils", 200 "hilog:libhilog", 201 "ipc:ipc_core", 202 "kv_store:distributeddata_inner", 203 "napi:ace_napi", 204 ] 205 206 public_external_deps = [ "image_framework:image" ] 207 cflags = [ 208 "-fvisibility=hidden", 209 "-O2", 210 ] 211 subsystem_name = "distributeddatamgr" 212 part_name = "udmf" 213} 214 215ohos_static_library("udmf_js_common") { 216 branch_protector_ret = "pac_ret" 217 sanitize = { 218 ubsan = true 219 boundary_sanitize = true 220 cfi = true 221 cfi_cross_dso = true 222 debug = false 223 } 224 sources = [ 225 "${udmf_framework_path}/jskitsimpl/common/napi_data_utils.cpp", 226 "${udmf_framework_path}/jskitsimpl/common/napi_error_utils.cpp", 227 "${udmf_framework_path}/jskitsimpl/common/napi_queue.cpp", 228 ] 229 230 ldflags = [ "-Wl,--exclude-libs=ALL" ] 231 cflags = [ 232 "-fvisibility=hidden", 233 "-O2", 234 ] 235 include_dirs = [ "${udmf_interfaces_path}/jskits/common" ] 236 237 public_configs = [ ":udmf_napi_config" ] 238 external_deps = [ 239 "ability_runtime:abilitykit_native", 240 "hilog:libhilog", 241 "napi:ace_napi", 242 ] 243 public_external_deps = [ "image_framework:image" ] 244 subsystem_name = "distributeddatamgr" 245 part_name = "udmf" 246} 247 248ohos_shared_library("intelligence_napi") { 249 branch_protector_ret = "pac_ret" 250 251 sanitize = { 252 integer_overflow = true 253 ubsan = true 254 boundary_sanitize = true 255 cfi = true 256 cfi_cross_dso = true 257 debug = false 258 } 259 260 sources = [ 261 "${udmf_framework_path}/jskitsimpl/intelligence/aip_napi_error.cpp", 262 "${udmf_framework_path}/jskitsimpl/intelligence/aip_napi_utils.cpp", 263 "${udmf_framework_path}/jskitsimpl/intelligence/i_aip_core_manager_impl.cpp", 264 "${udmf_framework_path}/jskitsimpl/intelligence/image_embedding_napi.cpp", 265 "${udmf_framework_path}/jskitsimpl/intelligence/native_module_intelligence.cpp", 266 "${udmf_framework_path}/jskitsimpl/intelligence/text_embedding_napi.cpp", 267 ] 268 269 public_configs = [ ":aip_core_napi_config" ] 270 271 deps = [] 272 273 external_deps = [ 274 "c_utils:utils", 275 "hilog:libhilog", 276 "napi:ace_napi", 277 ] 278 279 defines = [ "LOG_DOMAIN = 0xD001660" ] 280 relative_install_dir = "module/data" 281 subsystem_name = "distributeddatamgr" 282 part_name = "udmf" 283} 284