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