• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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}