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