1# Copyright (c) 2021-2023 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.
13
14import("//arkcompiler/ets_frontend/es2panda/es2abc_config.gni")
15import("//build/ohos.gni")
16import("//build/ohos/ace/ace.gni")
17import("//foundation/ability/form_fwk/form_fwk.gni")
18
19config("fmskit_config") {
20  defines = [ "FMS_LOG_TAG = \"FmskitNative\"" ]
21}
22
23################################### formbindingdata_napi ########################################
24ohos_shared_library("formbindingdata_napi") {
25  include_dirs = []
26
27  sources = [
28    "form_binding_data/form_binding_data.cpp",
29    "form_binding_data/form_binding_data_module.cpp",
30  ]
31
32  configs = [ ":fmskit_config" ]
33
34  deps = [ "${form_fwk_path}:form_manager" ]
35
36  external_deps = [
37    "ability_runtime:runtime",
38    "c_utils:utils",
39    "hilog:libhilog",
40    "ipc:ipc_core",
41    "napi:ace_napi",
42  ]
43
44  relative_install_dir = "module/application"
45
46  subsystem_name = "ability"
47  part_name = "form_fwk"
48}
49
50ohos_shared_library("formbindingdata") {
51  include_dirs = []
52
53  sources = [
54    "form_binding_data/js_form_binding_data.cpp",
55    "form_binding_data/js_form_binding_data_module.cpp",
56  ]
57
58  configs = [ ":fmskit_config" ]
59
60  deps = [
61    ":formutil_napi",
62    "${form_fwk_path}:form_manager",
63  ]
64
65  external_deps = [
66    "ability_runtime:abilitykit_native",
67    "ability_runtime:runtime",
68    "c_utils:utils",
69    "common_event_service:cesfwk_innerkits",
70    "hilog:libhilog",
71    "ipc:ipc_core",
72    "napi:ace_napi",
73  ]
74
75  relative_install_dir = "module/app/form"
76
77  subsystem_name = "ability"
78  part_name = "form_fwk"
79}
80
81################################### gen_form_extension_abc ########################################
82es2abc_gen_abc("gen_form_extension_abc") {
83  src_js = rebase_path("form_extension/form_extension.js")
84  dst_file = rebase_path(target_out_dir + "/form_extension.abc")
85  in_puts = [ "form_extension/form_extension.js" ]
86  out_puts = [ target_out_dir + "/form_extension.abc" ]
87  extra_args = [ "--module" ]
88}
89
90gen_js_obj("form_extension_js") {
91  input = "form_extension/form_extension.js"
92  output = target_out_dir + "/form_extension.o"
93}
94
95gen_js_obj("form_extension_abc") {
96  input = get_label_info(":gen_form_extension_abc", "target_out_dir") +
97          "/form_extension.abc"
98  output = target_out_dir + "/form_extension_abc.o"
99  dep = ":gen_form_extension_abc"
100}
101
102ohos_shared_library("formextension_napi") {
103  sources = [ "form_extension/form_extension_module.cpp" ]
104
105  configs = [ ":fmskit_config" ]
106
107  deps = [
108    ":form_extension_abc",
109    ":form_extension_js",
110  ]
111
112  external_deps = [ "napi:ace_napi" ]
113
114  relative_install_dir = "module/application"
115  subsystem_name = "ability"
116  part_name = "form_fwk"
117}
118
119################################### gen_form_extension_ability_abc ########################################
120es2abc_gen_abc("gen_form_extension_ability_abc") {
121  src_js = rebase_path("form_extension_ability/form_extension_ability.js")
122  dst_file = rebase_path(target_out_dir + "/form_extension_ability.abc")
123  in_puts = [ "form_extension_ability/form_extension_ability.js" ]
124  out_puts = [ target_out_dir + "/form_extension_ability.abc" ]
125  extra_args = [ "--module" ]
126}
127
128gen_js_obj("form_extension_ability_js") {
129  input = "form_extension_ability/form_extension_ability.js"
130  output = target_out_dir + "/form_extension_ability.o"
131}
132
133gen_js_obj("form_extension_ability_abc") {
134  input = get_label_info(":gen_form_extension_ability_abc", "target_out_dir") +
135          "/form_extension_ability.abc"
136  output = target_out_dir + "/form_extension_ability_abc.o"
137  dep = ":gen_form_extension_ability_abc"
138}
139
140ohos_shared_library("formextensionability") {
141  sources = [ "form_extension_ability/form_extension_ability_module.cpp" ]
142
143  configs = [ ":fmskit_config" ]
144
145  deps = [
146    ":form_extension_ability_abc",
147    ":form_extension_ability_js",
148  ]
149
150  external_deps = [ "napi:ace_napi" ]
151
152  relative_install_dir = "module/app/form"
153  subsystem_name = "ability"
154  part_name = "form_fwk"
155}
156
157################################### gen_form_extension_context_abc ########################################
158es2abc_gen_abc("gen_form_extension_context_abc") {
159  src_js = rebase_path("form_extension_context/form_extension_context.js")
160  dst_file = rebase_path(target_out_dir + "/form_extension_context.abc")
161  in_puts = [ "form_extension_context/form_extension_context.js" ]
162  out_puts = [ target_out_dir + "/form_extension_context.abc" ]
163  extra_args = [ "--module" ]
164}
165
166gen_js_obj("form_extension_context_js") {
167  input = "form_extension_context/form_extension_context.js"
168  output = target_out_dir + "/form_extension_context.o"
169}
170
171gen_js_obj("form_extension_context_abc") {
172  input = get_label_info(":gen_form_extension_context_abc", "target_out_dir") +
173          "/form_extension_context.abc"
174  output = target_out_dir + "/form_extension_context_abc.o"
175  dep = ":gen_form_extension_context_abc"
176}
177
178ohos_shared_library("formextensioncontext_napi") {
179  sources = [ "form_extension_context/form_extension_context_module.cpp" ]
180
181  configs = [ ":fmskit_config" ]
182
183  deps = [
184    ":form_extension_context_abc",
185    ":form_extension_context_js",
186  ]
187
188  external_deps = [ "napi:ace_napi" ]
189
190  relative_install_dir = "module/application"
191  subsystem_name = "ability"
192  part_name = "form_fwk"
193}
194
195################################### forminfo_napi ########################################
196ohos_shared_library("forminfo_napi") {
197  include_dirs = [ "${form_fwk_path}/interfaces/inner_api/include" ]
198
199  sources = [
200    "form_info/form_info_module.cpp",
201    "form_info/js_form_info.cpp",
202  ]
203
204  configs = [ ":fmskit_config" ]
205
206  deps = []
207
208  external_deps = [
209    "ability_runtime:runtime",
210    "bundle_framework:appexecfwk_base",
211    "c_utils:utils",
212    "hilog:libhilog",
213    "napi:ace_napi",
214  ]
215
216  relative_install_dir = "module/application"
217
218  subsystem_name = "ability"
219  part_name = "form_fwk"
220}
221
222ohos_shared_library("forminfo") {
223  include_dirs = [ "${form_fwk_path}/interfaces/inner_api/include" ]
224
225  sources = [
226    "form_info/form_info_module.cpp",
227    "form_info/js_form_info.cpp",
228  ]
229
230  configs = [ ":fmskit_config" ]
231
232  deps = []
233
234  external_deps = [
235    "ability_runtime:runtime",
236    "bundle_framework:appexecfwk_base",
237    "c_utils:utils",
238    "hilog:libhilog",
239    "napi:ace_napi",
240  ]
241
242  defines = [ "ENABLE_ERRCODE" ]
243
244  relative_install_dir = "module/app/form"
245
246  subsystem_name = "ability"
247  part_name = "form_fwk"
248}
249
250################################### formhost_napi ########################################
251ohos_shared_library("formhost_napi") {
252  include_dirs = []
253
254  sources = [
255    "formHost/napi_form_host.cpp",
256    "formHost/native_module.cpp",
257  ]
258
259  configs = [ ":fmskit_config" ]
260
261  deps = [
262    ":formutil_napi",
263    "${form_fwk_path}:fmskit_native",
264  ]
265
266  external_deps = [
267    "ability_base:want",
268    "ability_runtime:abilitykit_native",
269    "ability_runtime:napi_common",
270    "ability_runtime:runtime",
271    "bundle_framework:appexecfwk_base",
272    "c_utils:utils",
273    "common_event_service:cesfwk_innerkits",
274    "eventhandler:libeventhandler",
275    "hilog:libhilog",
276    "napi:ace_napi",
277  ]
278
279  relative_install_dir = "module/application"
280
281  subsystem_name = "ability"
282  part_name = "form_fwk"
283}
284
285################################### formhost ########################################
286ohos_shared_library("formhost") {
287  include_dirs = [ "${form_fwk_path}/interfaces/inner_api/include" ]
288
289  sources = [
290    "form_host/js_form_host.cpp",
291    "form_host/js_form_state_observer.cpp",
292    "form_host/native_module.cpp",
293  ]
294
295  configs = [ ":fmskit_config" ]
296
297  deps = [
298    ":formutil_napi",
299    "${form_fwk_path}:fmskit_native",
300    "${form_fwk_path}:form_manager",
301  ]
302
303  external_deps = [
304    "ability_base:want",
305    "ability_runtime:abilitykit_native",
306    "ability_runtime:napi_common",
307    "ability_runtime:runtime",
308    "access_token:libtokenid_sdk",
309    "bundle_framework:appexecfwk_base",
310    "c_utils:utils",
311    "common_event_service:cesfwk_innerkits",
312    "eventhandler:libeventhandler",
313    "hilog:libhilog",
314    "ipc:ipc_single",
315    "napi:ace_napi",
316  ]
317
318  relative_install_dir = "module/app/form"
319
320  subsystem_name = "ability"
321  part_name = "form_fwk"
322}
323
324################################### formobserver ########################################
325ohos_shared_library("formobserver") {
326  include_dirs = [
327    "${form_fwk_path}/interfaces/inner_api/include",
328    "${form_fwk_path}/frameworks/js/napi/form_host",
329    "${form_fwk_path}/frameworks/js/napi/form_observer",
330  ]
331
332  sources = [
333    "form_host/js_form_state_observer.cpp",
334    "form_observer/js_form_observer.cpp",
335    "form_observer/native_module.cpp",
336  ]
337
338  configs = [ ":fmskit_config" ]
339
340  deps = [
341    ":formutil_napi",
342    "${form_fwk_napi_path}:formhost",
343    "${form_fwk_path}:fmskit_native",
344    "${form_fwk_path}:form_manager",
345  ]
346
347  external_deps = [
348    "ability_base:want",
349    "ability_runtime:abilitykit_native",
350    "ability_runtime:napi_common",
351    "ability_runtime:runtime",
352    "access_token:libtokenid_sdk",
353    "bundle_framework:appexecfwk_base",
354    "c_utils:utils",
355    "common_event_service:cesfwk_innerkits",
356    "eventhandler:libeventhandler",
357    "hilog:libhilog",
358    "ipc:ipc_single",
359    "napi:ace_napi",
360  ]
361
362  relative_install_dir = "module/app/form"
363
364  subsystem_name = "ability"
365  part_name = "form_fwk"
366}
367
368################################### formprovider_napi ########################################
369ohos_shared_library("formprovider_napi") {
370  include_dirs = []
371
372  sources = [
373    "formProvider/napi_form_provider.cpp",
374    "formProvider/native_module.cpp",
375  ]
376
377  configs = [ ":fmskit_config" ]
378
379  deps = [
380    ":formutil_napi",
381    "${form_fwk_path}:fmskit_native",
382    "${form_fwk_path}:form_manager",
383  ]
384
385  external_deps = [
386    "ability_base:want",
387    "ability_runtime:abilitykit_native",
388    "ability_runtime:napi_common",
389    "ability_runtime:runtime",
390    "bundle_framework:appexecfwk_base",
391    "c_utils:utils",
392    "common_event_service:cesfwk_innerkits",
393    "hilog:libhilog",
394    "napi:ace_napi",
395  ]
396
397  relative_install_dir = "module/application"
398
399  subsystem_name = "ability"
400  part_name = "form_fwk"
401}
402
403ohos_shared_library("formprovider") {
404  include_dirs = []
405
406  sources = [
407    "form_provider/js_form_provider.cpp",
408    "form_provider/native_module.cpp",
409  ]
410
411  configs = [ ":fmskit_config" ]
412
413  deps = [
414    ":formutil_napi",
415    "${form_fwk_path}:fmskit_native",
416    "${form_fwk_path}:form_manager",
417  ]
418
419  external_deps = [
420    "ability_base:want",
421    "ability_runtime:abilitykit_native",
422    "ability_runtime:napi_common",
423    "ability_runtime:runtime",
424    "access_token:libtokenid_sdk",
425    "bundle_framework:appexecfwk_base",
426    "c_utils:utils",
427    "common_event_service:cesfwk_innerkits",
428    "hilog:libhilog",
429    "ipc:ipc_single",
430    "napi:ace_napi",
431  ]
432
433  relative_install_dir = "module/app/form"
434
435  subsystem_name = "ability"
436  part_name = "form_fwk"
437}
438
439################################### formagent_napi ########################################
440ohos_shared_library("formagent") {
441  include_dirs = []
442
443  sources = [
444    "form_agent/js_form_agent.cpp",
445    "form_agent/native_module.cpp",
446  ]
447
448  configs = [ ":fmskit_config" ]
449
450  deps = [
451    ":formutil_napi",
452    "${form_fwk_path}:fmskit_native",
453    "${form_fwk_path}:form_manager",
454  ]
455
456  external_deps = [
457    "ability_base:want",
458    "ability_runtime:abilitykit_native",
459    "ability_runtime:napi_common",
460    "ability_runtime:runtime",
461    "bundle_framework:appexecfwk_base",
462    "c_utils:utils",
463    "common_event_service:cesfwk_innerkits",
464    "hilog:libhilog",
465    "ipc:ipc_single",
466    "napi:ace_napi",
467  ]
468
469  relative_install_dir = "module/app/form"
470
471  subsystem_name = "ability"
472  part_name = "form_fwk"
473}
474
475################################### formutil_napi_public_config ########################################
476config("formutil_napi_public_config") {
477  include_dirs = [ "formUtil/" ]
478}
479
480ohos_shared_library("formutil_napi") {
481  include_dirs = []
482
483  public_configs = [ ":formutil_napi_public_config" ]
484
485  sources = [ "formUtil/napi_form_util.cpp" ]
486
487  configs = [ ":fmskit_config" ]
488
489  deps = [ "${form_fwk_path}:fmskit_native" ]
490
491  external_deps = [
492    "ability_runtime:abilitykit_native",
493    "ability_runtime:runtime",
494    "common_event_service:cesfwk_innerkits",
495    "hilog:libhilog",
496    "napi:ace_napi",
497  ]
498
499  subsystem_name = "ability"
500  innerapi_tags = [ "platformsdk" ]
501  part_name = "form_fwk"
502}
503
504################################### formerror_napi ########################################
505ohos_shared_library("formerror_napi") {
506  include_dirs = [ "${form_fwk_napi_path}/formUtil" ]
507
508  sources = [
509    "form_error/form_error_module.cpp",
510    "form_error/js_form_error.cpp",
511  ]
512
513  configs = [ ":fmskit_config" ]
514
515  external_deps = [
516    "ability_runtime:abilitykit_native",
517    "ability_runtime:runtime",
518    "common_event_service:cesfwk_innerkits",
519    "hilog:libhilog",
520    "napi:ace_napi",
521  ]
522
523  relative_install_dir = "module/application"
524
525  subsystem_name = "ability"
526  part_name = "form_fwk"
527}
528