• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022-2024 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("//build/ohos.gni")
15import("//foundation/ability/ability_base/ability_base.gni")
16
17################################### base ########################################
18config("base_config") {
19  visibility = [ ":*" ]
20}
21
22config("base_public_config") {
23  visibility = [ ":*" ]
24  include_dirs = [
25    "interfaces/inner_api/base/include",
26    "${ability_base_innerapi_path}/log/include",
27  ]
28}
29
30config("base_exceptions_config") {
31  cflags_cc = [ "-fexceptions" ]
32}
33
34config("base_all_dependent_config") {
35  include_dirs = [
36    "${ability_base_innerapi_path}/base/include",
37    "${ipc_native_path}/src/napi/include",
38  ]
39}
40
41ohos_shared_library("base") {
42  branch_protector_ret = "pac_ret"
43
44  sources = [
45    "interfaces/inner_api/base/src/base.cpp",
46    "interfaces/inner_api/base/src/base_object.cpp",
47    "interfaces/inner_api/base/src/bool_wrapper.cpp",
48    "interfaces/inner_api/base/src/byte_wrapper.cpp",
49    "interfaces/inner_api/base/src/double_wrapper.cpp",
50    "interfaces/inner_api/base/src/float_wrapper.cpp",
51    "interfaces/inner_api/base/src/int_wrapper.cpp",
52    "interfaces/inner_api/base/src/long_wrapper.cpp",
53    "interfaces/inner_api/base/src/remote_object_wrapper.cpp",
54    "interfaces/inner_api/base/src/short_wrapper.cpp",
55    "interfaces/inner_api/base/src/string_wrapper.cpp",
56    "interfaces/inner_api/base/src/user_object_wrapper.cpp",
57    "interfaces/inner_api/base/src/zchar_wrapper.cpp",
58  ]
59  configs = [
60    ":base_config",
61    ":base_exceptions_config",
62  ]
63  public_configs = [ ":base_public_config" ]
64
65  all_dependent_configs = [ ":base_all_dependent_config" ]
66
67  external_deps = [
68    "c_utils:utils",
69    "hilog:libhilog",
70    "ipc:ipc_core",
71  ]
72
73  subsystem_name = "ability"
74  innerapi_tags = [
75    "platformsdk",
76    "sasdk",
77  ]
78  part_name = "ability_base"
79}
80
81################################### configuration ########################################
82config("configuration_sdk_config") {
83  include_dirs = [
84    "interfaces/kits/native/configuration/include",
85    "${ability_base_innerapi_path}/log/include",
86    "${base_global_innerapi_path}/include",
87    "//third_party/json/include",
88  ]
89}
90
91ohos_shared_library("configuration") {
92  branch_protector_ret = "pac_ret"
93
94  sources = [
95    "interfaces/kits/native/configuration/src/configuration.cpp",
96    "interfaces/kits/native/configuration/src/configuration_convertor.cpp",
97  ]
98
99  public_configs = [ ":configuration_sdk_config" ]
100
101  defines = [ "ABILITYBASE_LOG_TAG = \"Configuration\"" ]
102  cflags = []
103  if (target_cpu == "arm") {
104    cflags += [ "-DBINDER_IPC_32BIT" ]
105  }
106
107  external_deps = [
108    "c_utils:utils",
109    "hilog:libhilog",
110  ]
111
112  subsystem_name = "ability"
113  innerapi_tags = [ "platformsdk" ]
114  part_name = "ability_base"
115}
116
117################################### zuri ########################################
118config("zuri_config") {
119  visibility = [ ":*" ]
120  include_dirs = [ "interfaces/kits/native/uri/include" ]
121  cflags = []
122  if (target_cpu == "arm") {
123    cflags += [ "-DBINDER_IPC_32BIT" ]
124  }
125}
126
127config("zuri_exceptions") {
128  cflags_cc = [ "-fexceptions" ]
129}
130
131config("zuri_all_dependent_config") {
132  include_dirs = [ "${ability_base_kits_native_path}/uri/include" ]
133}
134
135ohos_shared_library("zuri") {
136  branch_protector_ret = "pac_ret"
137
138  public_configs = [ ":zuri_config" ]
139
140  all_dependent_configs = [ ":zuri_all_dependent_config" ]
141
142  sources = [ "interfaces/kits/native/uri/src/uri.cpp" ]
143
144  configs = [ ":zuri_exceptions" ]
145
146  deps = []
147
148  external_deps = [
149    "c_utils:utils",
150    "hilog:libhilog",
151  ]
152
153  subsystem_name = "ability"
154  innerapi_tags = [
155    "platformsdk",
156    "sasdk",
157  ]
158  part_name = "ability_base"
159}
160
161################################### want ########################################
162config("want_config") {
163  visibility = [ ":*" ]
164  visibility += [ "./test/fuzztest/*" ]
165  include_dirs = []
166  cflags = []
167  if (target_cpu == "arm") {
168    cflags += [ "-DBINDER_IPC_32BIT" ]
169  }
170  cflags += [ "-Werror,-Wfloat-equal" ]
171  defines = [ "ABILITYBASE_LOG_TAG = \"Want\"" ]
172}
173
174config("want_public_config") {
175  visibility = [ ":*" ]
176  visibility += [ "./test/unittest:*" ]
177  include_dirs = [
178    "interfaces/inner_api/base/include",
179    "interfaces/kits/native/uri/include",
180    "interfaces/kits/native/want/include",
181    "${ability_base_innerapi_path}/log/include",
182    "//third_party/json/include",
183  ]
184}
185
186config("want_all_dependent_config") {
187  include_dirs = [
188    "${ability_base_kits_native_path}/want/include",
189    "//third_party/json/include",
190  ]
191}
192
193ohos_shared_library("want") {
194  branch_protector_ret = "pac_ret"
195
196  sources = [
197    "interfaces/kits/native/want/src/array_wrapper.cpp",
198    "interfaces/kits/native/want/src/element_name.cpp",
199    "interfaces/kits/native/want/src/extra_params.cpp",
200    "interfaces/kits/native/want/src/operation.cpp",
201    "interfaces/kits/native/want/src/operation_builder.cpp",
202    "interfaces/kits/native/want/src/pac_map.cpp",
203    "interfaces/kits/native/want/src/patterns_matcher.cpp",
204    "interfaces/kits/native/want/src/skills.cpp",
205    "interfaces/kits/native/want/src/want.cpp",
206    "interfaces/kits/native/want/src/want_params.cpp",
207    "interfaces/kits/native/want/src/want_params_wrapper.cpp",
208  ]
209
210  deps = [
211    ":base",
212    ":zuri",
213    "//third_party/json:nlohmann_json_static",
214    "//third_party/jsoncpp:jsoncpp",
215  ]
216  all_dependent_configs = [
217    ":want_all_dependent_config",
218    "//third_party/jsoncpp:jsoncpp_public_config",
219  ]
220
221  public_configs = [
222    ":want_all_dependent_config",
223    "//third_party/jsoncpp:jsoncpp_public_config",
224  ]
225
226  external_deps = [
227    "c_utils:utils",
228    "hilog:libhilog",
229    "ipc:ipc_core",
230    "ipc:ipc_single",
231  ]
232
233  configs = [ ":want_config" ]
234  public_configs += [ ":want_public_config" ]
235  subsystem_name = "ability"
236  innerapi_tags = [
237    "platformsdk",
238    "sasdk",
239  ]
240  part_name = "ability_base"
241}
242
243################################### view_data ########################################
244config("view_data_config") {
245  include_dirs = [
246    "${ability_base_kits_native_path}/view_data/include",
247    "${ability_base_innerapi_path}/log/include",
248  ]
249}
250
251ohos_shared_library("view_data") {
252  branch_protector_ret = "pac_ret"
253
254  sources = [
255    "interfaces/kits/native/view_data/src/page_node_info.cpp",
256    "interfaces/kits/native/view_data/src/rect.cpp",
257    "interfaces/kits/native/view_data/src/view_data.cpp",
258  ]
259
260  deps = [ "//third_party/json:nlohmann_json_static" ]
261
262  external_deps = [ "hilog:libhilog" ]
263
264  public_configs = [ ":view_data_config" ]
265  subsystem_name = "ability"
266  innerapi_tags = [ "platformsdk_indirect" ]
267  part_name = "ability_base"
268}
269
270################################### session_info ########################################
271config("session_info_all_dependent_config") {
272  include_dirs = [
273    "${ability_base_kits_native_path}/session_info/include",
274    "${ability_base_innerapi_path}/log/include",
275  ]
276}
277
278ohos_shared_library("session_info") {
279  branch_protector_ret = "pac_ret"
280
281  sources = [ "interfaces/kits/native/session_info/src/session_info.cpp" ]
282
283  all_dependent_configs = [ ":session_info_all_dependent_config" ]
284
285  deps = [ ":want" ]
286
287  external_deps = [
288    "ability_runtime:ability_start_setting",
289    "ability_runtime:process_options",
290    "ability_runtime:start_window_option",
291    "bundle_framework:appexecfwk_base",
292    "c_utils:utils",
293    "hilog:libhilog",
294    "ipc:ipc_core",
295  ]
296
297  subsystem_name = "ability"
298  innerapi_tags = [ "platformsdk_indirect" ]
299  part_name = "ability_base"
300}
301
302################################### string_utils ########################################
303config("string_utils_config") {
304  include_dirs = [ "${ability_base_kits_native_path}/extractortool/include" ]
305}
306
307ohos_shared_library("string_utils") {
308  branch_protector_ret = "pac_ret"
309
310  if (is_mingw) {
311    defines = [ "WINDOWS_PLATFORM" ]
312  } else {
313    defines = [ "MAC_PLATFORM" ]
314  }
315
316  sources = [ "interfaces/kits/native/extractortool/src/file_path_utils.cpp" ]
317
318  cflags = []
319  if (target_cpu == "arm") {
320    cflags += [ "-DBINDER_IPC_32BIT" ]
321  }
322
323  public_configs = [ ":string_utils_config" ]
324
325  subsystem_name = "ability"
326  innerapi_tags = [
327    "chipsetsdk_indirect",
328    "platformsdk_indirect",
329  ]
330  part_name = "ability_base"
331}
332
333################################### extractortool ########################################
334config("ability_extractor_config") {
335  include_dirs = [
336    "interfaces/kits/native/extractortool/include",
337    "${ability_base_innerapi_path}/log/include",
338    "//third_party/json/include",
339    "//third_party/zlib/contrib/minizip",
340    "//third_party/zlib",
341  ]
342}
343
344config("exceptions") {
345  cflags_cc = [ "-fexceptions" ]
346}
347
348ohos_shared_library("extractortool") {
349  branch_protector_ret = "pac_ret"
350
351  sources = [
352    "interfaces/kits/native/extractortool/src/extractor.cpp",
353    "interfaces/kits/native/extractortool/src/file_mapper.cpp",
354    "interfaces/kits/native/extractortool/src/zip_file.cpp",
355    "interfaces/kits/native/extractortool/src/zip_file_reader.cpp",
356    "interfaces/kits/native/extractortool/src/zip_file_reader_io.cpp",
357    "interfaces/kits/native/extractortool/src/zip_file_reader_mem.cpp",
358  ]
359
360  cflags = []
361  cflags_cc = []
362  configs = [ ":exceptions" ]
363
364  if (target_cpu == "arm") {
365    cflags += [ "-DBINDER_IPC_32BIT" ]
366  }
367
368  deps = [
369    ":string_utils",
370    "//third_party/zlib:shared_libz",
371  ]
372
373  public_configs = [ ":ability_extractor_config" ]
374
375  external_deps = [
376    "c_utils:utils",
377    "hilog:libhilog",
378    "hitrace:hitrace_meter",
379  ]
380
381  subsystem_name = "ability"
382  innerapi_tags = [
383    "chipsetsdk_indirect",
384    "platformsdk_indirect",
385  ]
386  part_name = "ability_base"
387}
388
389################################### extractresourcemanager ########################################
390config("ability_extract_resource_manager_config") {
391  include_dirs = [ "interfaces/kits/native/extractortool/include" ]
392}
393
394ohos_shared_library("extractresourcemanager") {
395  branch_protector_ret = "pac_ret"
396
397  sources = [
398    "interfaces/kits/native/extractortool/src/extract_resource_manager.cpp",
399  ]
400
401  cflags = []
402  if (target_cpu == "arm") {
403    cflags += [ "-DBINDER_IPC_32BIT" ]
404  }
405
406  external_deps = [ "resource_management:global_resmgr" ]
407
408  public_configs = [ ":ability_extract_resource_manager_config" ]
409
410  subsystem_name = "ability"
411  innerapi_tags = [ "platformsdk_indirect" ]
412  part_name = "ability_base"
413}
414
415################################### cwant ########################################
416config("ability_base_ndk_config") {
417  include_dirs = [
418    "${ability_base_innerapi_path}/log/include",
419    "${ability_base_kits_native_path}",
420    "${ability_base_ndk_path}/common",
421    "${ability_base_ndk_path}/cwant/include",
422  ]
423
424  if (target_cpu == "arm") {
425    cflags = [ "-DBINDER_IPC_32BIT" ]
426  }
427}
428
429ohos_shared_library("ability_base_want") {
430  sanitize = {
431    integer_overflow = true
432    ubsan = true
433    boundary_sanitize = true
434    cfi = true
435    cfi_cross_dso = true
436    cfi_vcall_icall_only = true
437    debug = false
438  }
439  branch_protector_ret = "pac_ret"
440
441  public_configs = [ ":ability_base_ndk_config" ]
442
443  sources = [
444    "interfaces/kits/c/cwant/src/want.cpp",
445    "interfaces/kits/c/cwant/src/want_manager.cpp",
446  ]
447
448  deps = [
449    ":base",
450    ":want",
451  ]
452
453  external_deps = [
454    "c_utils:utils",
455    "hilog:libhilog",
456  ]
457
458  output_extension = "so"
459  innerapi_tags = [ "ndk" ]
460  install_images = [ "system" ]
461  subsystem_name = "ability"
462  part_name = "ability_base"
463}
464
465group("base_innerkits_target") {
466  deps = [
467    ":ability_base_want",
468    ":base",
469    ":configuration",
470    ":extractortool",
471    ":extractresourcemanager",
472    ":session_info",
473    ":string_utils",
474    ":view_data",
475    ":want",
476  ]
477}
478