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