# Copyright (c) 2022-2024 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") import("//foundation/ability/ability_base/ability_base.gni") ################################### base ######################################## config("base_config") { visibility = [ ":*" ] } config("base_public_config") { visibility = [ ":*" ] include_dirs = [ "interfaces/inner_api/base/include" ] } config("base_all_dependent_config") { include_dirs = [ "${ability_base_innerapi_path}/base/include", "${ipc_native_path}/src/napi/include", ] } ohos_shared_library("base") { branch_protector_ret = "pac_ret" sources = [ "interfaces/inner_api/base/src/base.cpp", "interfaces/inner_api/base/src/base_object.cpp", "interfaces/inner_api/base/src/bool_wrapper.cpp", "interfaces/inner_api/base/src/byte_wrapper.cpp", "interfaces/inner_api/base/src/double_wrapper.cpp", "interfaces/inner_api/base/src/float_wrapper.cpp", "interfaces/inner_api/base/src/int_wrapper.cpp", "interfaces/inner_api/base/src/long_wrapper.cpp", "interfaces/inner_api/base/src/remote_object_wrapper.cpp", "interfaces/inner_api/base/src/short_wrapper.cpp", "interfaces/inner_api/base/src/string_wrapper.cpp", "interfaces/inner_api/base/src/user_object_wrapper.cpp", "interfaces/inner_api/base/src/zchar_wrapper.cpp", ] configs = [ ":base_config" ] public_configs = [ ":base_public_config" ] all_dependent_configs = [ ":base_all_dependent_config" ] external_deps = [ "c_utils:utils", "ipc:ipc_core", ] subsystem_name = "ability" innerapi_tags = [ "platformsdk", "sasdk", ] part_name = "ability_base" } ################################### configuration ######################################## config("configuration_sdk_config") { include_dirs = [ "interfaces/kits/native/configuration/include", "${ability_base_innerapi_path}/log/include", "${base_global_innerapi_path}/include", "//third_party/json/include", ] } ohos_shared_library("configuration") { branch_protector_ret = "pac_ret" sources = [ "interfaces/kits/native/configuration/src/configuration.cpp", "interfaces/kits/native/configuration/src/configuration_convertor.cpp", ] public_configs = [ ":configuration_sdk_config" ] defines = [ "ABILITYBASE_LOG_TAG = \"Configuration\"" ] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } external_deps = [ "c_utils:utils", "hilog:libhilog", ] subsystem_name = "ability" innerapi_tags = [ "platformsdk" ] part_name = "ability_base" } ################################### zuri ######################################## config("zuri_config") { visibility = [ ":*" ] include_dirs = [ "interfaces/kits/native/uri/include" ] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } } config("zuri_exceptions") { cflags_cc = [ "-fexceptions" ] } config("zuri_all_dependent_config") { include_dirs = [ "${ability_base_kits_native_path}/uri/include" ] } ohos_shared_library("zuri") { branch_protector_ret = "pac_ret" public_configs = [ ":zuri_config" ] all_dependent_configs = [ ":zuri_all_dependent_config" ] sources = [ "interfaces/kits/native/uri/src/uri.cpp" ] configs = [ ":zuri_exceptions" ] deps = [] external_deps = [ "c_utils:utils", "hilog:libhilog", ] subsystem_name = "ability" innerapi_tags = [ "platformsdk", "sasdk", ] part_name = "ability_base" } ################################### want ######################################## config("want_config") { visibility = [ ":*" ] visibility += [ "./test/fuzztest/*" ] include_dirs = [] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } cflags += [ "-Werror,-Wfloat-equal" ] defines = [ "ABILITYBASE_LOG_TAG = \"Want\"" ] } config("want_public_config") { visibility = [ ":*" ] visibility += [ "./test/unittest:*" ] include_dirs = [ "interfaces/inner_api/base/include", "interfaces/kits/native/uri/include", "interfaces/kits/native/want/include", "${ability_base_innerapi_path}/log/include", "//third_party/json/include", ] } config("want_all_dependent_config") { include_dirs = [ "${ability_base_kits_native_path}/want/include", "//third_party/json/include", ] } ohos_shared_library("want") { branch_protector_ret = "pac_ret" sources = [ "interfaces/kits/native/want/src/array_wrapper.cpp", "interfaces/kits/native/want/src/element_name.cpp", "interfaces/kits/native/want/src/extra_params.cpp", "interfaces/kits/native/want/src/operation.cpp", "interfaces/kits/native/want/src/operation_builder.cpp", "interfaces/kits/native/want/src/pac_map.cpp", "interfaces/kits/native/want/src/patterns_matcher.cpp", "interfaces/kits/native/want/src/skills.cpp", "interfaces/kits/native/want/src/want.cpp", "interfaces/kits/native/want/src/want_params.cpp", "interfaces/kits/native/want/src/want_params_wrapper.cpp", ] deps = [ ":base", ":zuri", "//third_party/json:nlohmann_json_static", "//third_party/jsoncpp:jsoncpp", ] all_dependent_configs = [ ":want_all_dependent_config", "//third_party/jsoncpp:jsoncpp_public_config", ] public_configs = [ ":want_all_dependent_config", "//third_party/jsoncpp:jsoncpp_public_config", ] external_deps = [ "c_utils:utils", "hilog:libhilog", "ipc:ipc_core", "ipc:ipc_single", ] configs = [ ":want_config" ] public_configs += [ ":want_public_config" ] subsystem_name = "ability" innerapi_tags = [ "platformsdk", "sasdk", ] part_name = "ability_base" } ################################### view_data ######################################## config("view_data_config") { include_dirs = [ "${ability_base_kits_native_path}/view_data/include", "${ability_base_innerapi_path}/log/include", ] } ohos_shared_library("view_data") { branch_protector_ret = "pac_ret" sources = [ "interfaces/kits/native/view_data/src/page_node_info.cpp", "interfaces/kits/native/view_data/src/rect.cpp", "interfaces/kits/native/view_data/src/view_data.cpp", ] deps = [ "//third_party/json:nlohmann_json_static" ] external_deps = [ "hilog:libhilog" ] public_configs = [ ":view_data_config" ] subsystem_name = "ability" innerapi_tags = [ "platformsdk_indirect" ] part_name = "ability_base" } ################################### session_info ######################################## config("session_info_all_dependent_config") { include_dirs = [ "${ability_base_kits_native_path}/session_info/include", "${ability_base_innerapi_path}/log/include", ] } ohos_shared_library("session_info") { branch_protector_ret = "pac_ret" sources = [ "interfaces/kits/native/session_info/src/session_info.cpp" ] all_dependent_configs = [ ":session_info_all_dependent_config" ] deps = [ ":want" ] external_deps = [ "ability_runtime:ability_start_setting", "ability_runtime:process_options", "ability_runtime:start_window_option", "bundle_framework:appexecfwk_base", "c_utils:utils", "hilog:libhilog", "ipc:ipc_core", ] subsystem_name = "ability" innerapi_tags = [ "platformsdk_indirect" ] part_name = "ability_base" } ################################### string_utils ######################################## config("string_utils_config") { include_dirs = [ "${ability_base_kits_native_path}/extractortool/include" ] } ohos_shared_library("string_utils") { branch_protector_ret = "pac_ret" if (is_mingw) { defines = [ "WINDOWS_PLATFORM" ] } else { defines = [ "MAC_PLATFORM" ] } sources = [ "interfaces/kits/native/extractortool/src/file_path_utils.cpp" ] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } public_configs = [ ":string_utils_config" ] subsystem_name = "ability" innerapi_tags = [ "chipsetsdk_indirect", "platformsdk_indirect", ] part_name = "ability_base" } ################################### extractortool ######################################## config("ability_extractor_config") { include_dirs = [ "interfaces/kits/native/extractortool/include", "${ability_base_innerapi_path}/log/include", "//third_party/json/include", "//third_party/zlib/contrib/minizip", "//third_party/zlib", ] } config("exceptions") { cflags_cc = [ "-fexceptions" ] } ohos_shared_library("extractortool") { branch_protector_ret = "pac_ret" sources = [ "interfaces/kits/native/extractortool/src/extractor.cpp", "interfaces/kits/native/extractortool/src/file_mapper.cpp", "interfaces/kits/native/extractortool/src/zip_file.cpp", "interfaces/kits/native/extractortool/src/zip_file_reader.cpp", "interfaces/kits/native/extractortool/src/zip_file_reader_io.cpp", "interfaces/kits/native/extractortool/src/zip_file_reader_mem.cpp", ] cflags = [] cflags_cc = [] configs = [ ":exceptions" ] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } deps = [ ":string_utils", "//third_party/zlib:shared_libz", ] public_configs = [ ":ability_extractor_config" ] external_deps = [ "c_utils:utils", "hilog:libhilog", "hitrace:hitrace_meter", ] subsystem_name = "ability" innerapi_tags = [ "chipsetsdk_indirect", "platformsdk_indirect", ] part_name = "ability_base" } ################################### extractresourcemanager ######################################## config("ability_extract_resource_manager_config") { include_dirs = [ "interfaces/kits/native/extractortool/include" ] } ohos_shared_library("extractresourcemanager") { branch_protector_ret = "pac_ret" sources = [ "interfaces/kits/native/extractortool/src/extract_resource_manager.cpp", ] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } external_deps = [ "resource_management:global_resmgr" ] public_configs = [ ":ability_extract_resource_manager_config" ] subsystem_name = "ability" innerapi_tags = [ "platformsdk_indirect" ] part_name = "ability_base" } group("base_innerkits_target") { deps = [ ":base", ":configuration", ":extractortool", ":extractresourcemanager", ":session_info", ":string_utils", ":view_data", ":want", ] }