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