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 = [ "interfaces/inner_api/base/include" ] 25} 26 27config("base_all_dependent_config") { 28 include_dirs = [ 29 "${ability_base_innerapi_path}/base/include", 30 "${ipc_native_path}/src/napi/include", 31 ] 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 = [ ":base_config" ] 53 public_configs = [ ":base_public_config" ] 54 55 all_dependent_configs = [ ":base_all_dependent_config" ] 56 57 external_deps = [ 58 "c_utils:utils", 59 "ipc:ipc_core", 60 ] 61 62 subsystem_name = "ability" 63 innerapi_tags = [ 64 "platformsdk", 65 "sasdk", 66 ] 67 part_name = "ability_base" 68} 69 70################################### configuration ######################################## 71config("configuration_sdk_config") { 72 include_dirs = [ 73 "interfaces/kits/native/configuration/include", 74 "${ability_base_innerapi_path}/log/include", 75 "${base_global_innerapi_path}/include", 76 "//third_party/json/include", 77 ] 78} 79 80ohos_shared_library("configuration") { 81 branch_protector_ret = "pac_ret" 82 83 sources = [ 84 "interfaces/kits/native/configuration/src/configuration.cpp", 85 "interfaces/kits/native/configuration/src/configuration_convertor.cpp", 86 ] 87 88 public_configs = [ ":configuration_sdk_config" ] 89 90 defines = [ "ABILITYBASE_LOG_TAG = \"Configuration\"" ] 91 cflags = [] 92 if (target_cpu == "arm") { 93 cflags += [ "-DBINDER_IPC_32BIT" ] 94 } 95 96 external_deps = [ 97 "c_utils:utils", 98 "hilog:libhilog", 99 ] 100 101 subsystem_name = "ability" 102 innerapi_tags = [ "platformsdk" ] 103 part_name = "ability_base" 104} 105 106################################### zuri ######################################## 107config("zuri_config") { 108 visibility = [ ":*" ] 109 include_dirs = [ "interfaces/kits/native/uri/include" ] 110 cflags = [] 111 if (target_cpu == "arm") { 112 cflags += [ "-DBINDER_IPC_32BIT" ] 113 } 114} 115 116config("zuri_exceptions") { 117 cflags_cc = [ "-fexceptions" ] 118} 119 120config("zuri_all_dependent_config") { 121 include_dirs = [ "${ability_base_kits_native_path}/uri/include" ] 122} 123 124ohos_shared_library("zuri") { 125 branch_protector_ret = "pac_ret" 126 127 public_configs = [ ":zuri_config" ] 128 129 all_dependent_configs = [ ":zuri_all_dependent_config" ] 130 131 sources = [ "interfaces/kits/native/uri/src/uri.cpp" ] 132 133 configs = [ ":zuri_exceptions" ] 134 135 deps = [] 136 137 external_deps = [ 138 "c_utils:utils", 139 "hilog:libhilog", 140 ] 141 142 subsystem_name = "ability" 143 innerapi_tags = [ 144 "platformsdk", 145 "sasdk", 146 ] 147 part_name = "ability_base" 148} 149 150################################### want ######################################## 151config("want_config") { 152 visibility = [ ":*" ] 153 visibility += [ "./test/fuzztest/*" ] 154 include_dirs = [] 155 cflags = [] 156 if (target_cpu == "arm") { 157 cflags += [ "-DBINDER_IPC_32BIT" ] 158 } 159 cflags += [ "-Werror,-Wfloat-equal" ] 160 defines = [ "ABILITYBASE_LOG_TAG = \"Want\"" ] 161} 162 163config("want_public_config") { 164 visibility = [ ":*" ] 165 visibility += [ "./test/unittest:*" ] 166 include_dirs = [ 167 "interfaces/inner_api/base/include", 168 "interfaces/kits/native/uri/include", 169 "interfaces/kits/native/want/include", 170 "${ability_base_innerapi_path}/log/include", 171 "//third_party/json/include", 172 ] 173} 174 175config("want_all_dependent_config") { 176 include_dirs = [ 177 "${ability_base_kits_native_path}/want/include", 178 "//third_party/json/include", 179 ] 180} 181 182ohos_shared_library("want") { 183 branch_protector_ret = "pac_ret" 184 185 sources = [ 186 "interfaces/kits/native/want/src/array_wrapper.cpp", 187 "interfaces/kits/native/want/src/element_name.cpp", 188 "interfaces/kits/native/want/src/extra_params.cpp", 189 "interfaces/kits/native/want/src/operation.cpp", 190 "interfaces/kits/native/want/src/operation_builder.cpp", 191 "interfaces/kits/native/want/src/pac_map.cpp", 192 "interfaces/kits/native/want/src/patterns_matcher.cpp", 193 "interfaces/kits/native/want/src/skills.cpp", 194 "interfaces/kits/native/want/src/want.cpp", 195 "interfaces/kits/native/want/src/want_params.cpp", 196 "interfaces/kits/native/want/src/want_params_wrapper.cpp", 197 ] 198 199 deps = [ 200 ":base", 201 ":zuri", 202 "//third_party/json:nlohmann_json_static", 203 "//third_party/jsoncpp:jsoncpp", 204 ] 205 all_dependent_configs = [ 206 ":want_all_dependent_config", 207 "//third_party/jsoncpp:jsoncpp_public_config", 208 ] 209 210 public_configs = [ 211 ":want_all_dependent_config", 212 "//third_party/jsoncpp:jsoncpp_public_config", 213 ] 214 215 external_deps = [ 216 "c_utils:utils", 217 "hilog:libhilog", 218 "ipc:ipc_core", 219 "ipc:ipc_single", 220 ] 221 222 configs = [ ":want_config" ] 223 public_configs += [ ":want_public_config" ] 224 subsystem_name = "ability" 225 innerapi_tags = [ 226 "platformsdk", 227 "sasdk", 228 ] 229 part_name = "ability_base" 230} 231 232################################### view_data ######################################## 233config("view_data_config") { 234 include_dirs = [ 235 "${ability_base_kits_native_path}/view_data/include", 236 "${ability_base_innerapi_path}/log/include", 237 ] 238} 239 240ohos_shared_library("view_data") { 241 branch_protector_ret = "pac_ret" 242 243 sources = [ 244 "interfaces/kits/native/view_data/src/page_node_info.cpp", 245 "interfaces/kits/native/view_data/src/rect.cpp", 246 "interfaces/kits/native/view_data/src/view_data.cpp", 247 ] 248 249 deps = [ "//third_party/json:nlohmann_json_static" ] 250 251 external_deps = [ "hilog:libhilog" ] 252 253 public_configs = [ ":view_data_config" ] 254 subsystem_name = "ability" 255 innerapi_tags = [ "platformsdk_indirect" ] 256 part_name = "ability_base" 257} 258 259################################### session_info ######################################## 260config("session_info_all_dependent_config") { 261 include_dirs = [ 262 "${ability_base_kits_native_path}/session_info/include", 263 "${ability_base_innerapi_path}/log/include", 264 ] 265} 266 267ohos_shared_library("session_info") { 268 branch_protector_ret = "pac_ret" 269 270 sources = [ "interfaces/kits/native/session_info/src/session_info.cpp" ] 271 272 all_dependent_configs = [ ":session_info_all_dependent_config" ] 273 274 deps = [ ":want" ] 275 276 external_deps = [ 277 "ability_runtime:ability_start_setting", 278 "ability_runtime:process_options", 279 "ability_runtime:start_window_option", 280 "bundle_framework:appexecfwk_base", 281 "c_utils:utils", 282 "hilog:libhilog", 283 "ipc:ipc_core", 284 ] 285 286 subsystem_name = "ability" 287 innerapi_tags = [ "platformsdk_indirect" ] 288 part_name = "ability_base" 289} 290 291################################### string_utils ######################################## 292config("string_utils_config") { 293 include_dirs = [ "${ability_base_kits_native_path}/extractortool/include" ] 294} 295 296ohos_shared_library("string_utils") { 297 branch_protector_ret = "pac_ret" 298 299 if (is_mingw) { 300 defines = [ "WINDOWS_PLATFORM" ] 301 } else { 302 defines = [ "MAC_PLATFORM" ] 303 } 304 305 sources = [ "interfaces/kits/native/extractortool/src/file_path_utils.cpp" ] 306 307 cflags = [] 308 if (target_cpu == "arm") { 309 cflags += [ "-DBINDER_IPC_32BIT" ] 310 } 311 312 public_configs = [ ":string_utils_config" ] 313 314 subsystem_name = "ability" 315 innerapi_tags = [ 316 "chipsetsdk_indirect", 317 "platformsdk_indirect", 318 ] 319 part_name = "ability_base" 320} 321 322################################### extractortool ######################################## 323config("ability_extractor_config") { 324 include_dirs = [ 325 "interfaces/kits/native/extractortool/include", 326 "${ability_base_innerapi_path}/log/include", 327 "//third_party/json/include", 328 "//third_party/zlib/contrib/minizip", 329 "//third_party/zlib", 330 ] 331} 332 333config("exceptions") { 334 cflags_cc = [ "-fexceptions" ] 335} 336 337ohos_shared_library("extractortool") { 338 branch_protector_ret = "pac_ret" 339 340 sources = [ 341 "interfaces/kits/native/extractortool/src/extractor.cpp", 342 "interfaces/kits/native/extractortool/src/file_mapper.cpp", 343 "interfaces/kits/native/extractortool/src/zip_file.cpp", 344 "interfaces/kits/native/extractortool/src/zip_file_reader.cpp", 345 "interfaces/kits/native/extractortool/src/zip_file_reader_io.cpp", 346 "interfaces/kits/native/extractortool/src/zip_file_reader_mem.cpp", 347 ] 348 349 cflags = [] 350 cflags_cc = [] 351 configs = [ ":exceptions" ] 352 353 if (target_cpu == "arm") { 354 cflags += [ "-DBINDER_IPC_32BIT" ] 355 } 356 357 deps = [ 358 ":string_utils", 359 "//third_party/zlib:shared_libz", 360 ] 361 362 public_configs = [ ":ability_extractor_config" ] 363 364 external_deps = [ 365 "c_utils:utils", 366 "hilog:libhilog", 367 "hitrace:hitrace_meter", 368 ] 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 404group("base_innerkits_target") { 405 deps = [ 406 ":base", 407 ":configuration", 408 ":extractortool", 409 ":extractresourcemanager", 410 ":session_info", 411 ":string_utils", 412 ":view_data", 413 ":want", 414 ] 415} 416