1# Copyright (c) 2021-2023 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_runtime/ability_runtime.gni") 16import("//foundation/ability/form_fwk/form_fwk.gni") 17 18################################### libfms ######################################## 19config("formmgr_log_config") { 20 defines = [ "FMS_LOG_TAG = \"FormManagerService\"" ] 21} 22 23config("formmgr_config") { 24 include_dirs = [ 25 "services/config", 26 "services/include", 27 "//third_party/json/include", 28 ] 29} 30 31ohos_shared_library("libfms") { 32 shlib_type = "sa" 33 version_script = "libfms.map" 34 cflags_cc = [] 35 include_dirs = [ 36 "${ability_runtime_path}/services/common/include", 37 "${ability_runtime_native_path}/appkit/ability_runtime", 38 "${form_fwk_napi_path}/form_host/form_state_observer/include", 39 ] 40 41 sources = [ 42 "services/config/form_xml_parser.cpp", 43 "services/src/form_ability_connection.cpp", 44 "services/src/form_acquire_connection.cpp", 45 "services/src/form_acquire_data_connection.cpp", 46 "services/src/form_acquire_state_connection.cpp", 47 "services/src/form_ams_helper.cpp", 48 "services/src/form_background_connection.cpp", 49 "services/src/form_batch_delete_connection.cpp", 50 "services/src/form_bms_helper.cpp", 51 "services/src/form_bundle_event_callback.cpp", 52 "services/src/form_cache_mgr.cpp", 53 "services/src/form_cast_temp_connection.cpp", 54 "services/src/form_data_mgr.cpp", 55 "services/src/form_data_proxy_mgr.cpp", 56 "services/src/form_data_proxy_record.cpp", 57 "services/src/form_db_cache.cpp", 58 "services/src/form_db_info.cpp", 59 "services/src/form_delete_connection.cpp", 60 "services/src/form_distributed_client.cpp", 61 "services/src/form_dump_mgr.cpp", 62 "services/src/form_event_handler.cpp", 63 "services/src/form_event_notify_connection.cpp", 64 "services/src/form_event_report.cpp", 65 "services/src/form_event_util.cpp", 66 "services/src/form_free_install_operator.cpp", 67 "services/src/form_host_callback.cpp", 68 "services/src/form_host_record.cpp", 69 "services/src/form_info_mgr.cpp", 70 "services/src/form_info_rdb_storage_mgr.cpp", 71 "services/src/form_info_storage.cpp", 72 "services/src/form_info_storage_mgr.cpp", 73 "services/src/form_item_info.cpp", 74 "services/src/form_mgr_adapter.cpp", 75 "services/src/form_mgr_service.cpp", 76 "services/src/form_msg_event_connection.cpp", 77 "services/src/form_observer_record.cpp", 78 "services/src/form_provider_mgr.cpp", 79 "services/src/form_rdb_data_mgr.cpp", 80 "services/src/form_refresh_connection.cpp", 81 "services/src/form_refresh_limiter.cpp", 82 "services/src/form_render_connection.cpp", 83 "services/src/form_render_mgr.cpp", 84 "services/src/form_serial_queue.cpp", 85 "services/src/form_share_connection.cpp", 86 "services/src/form_share_mgr.cpp", 87 "services/src/form_supply_callback.cpp", 88 "services/src/form_sys_event_receiver.cpp", 89 "services/src/form_task_mgr.cpp", 90 "services/src/form_timer_mgr.cpp", 91 "services/src/form_trust_mgr.cpp", 92 "services/src/form_util.cpp", 93 "services/src/free_install_status_callback_proxy.cpp", 94 "services/src/free_install_status_callback_stub.cpp", 95 ] 96 97 configs = [ 98 ":formmgr_config", 99 ":formmgr_log_config", 100 ":formmgr_sdk_config", 101 ] 102 cflags = [] 103 if (target_cpu == "arm") { 104 cflags += [ "-DBINDER_IPC_32BIT" ] 105 } 106 107 deps = [ 108 "${form_fwk_path}:form_config", 109 "${form_fwk_path}:form_manager", 110 "//third_party/libxml2:libxml2", 111 ] 112 113 external_deps = [ 114 "ability_base:base", 115 "ability_base:want", 116 "ability_runtime:ability_deps_wrapper", 117 "ability_runtime:ability_manager", 118 "ability_runtime:app_manager", 119 "ability_runtime:wantagent_innerkits", 120 "access_token:libaccesstoken_sdk", 121 "access_token:libtokenid_sdk", 122 "bundle_framework:appexecfwk_base", 123 "bundle_framework:appexecfwk_core", 124 "c_utils:utils", 125 "common_event_service:cesfwk_core", 126 "common_event_service:cesfwk_innerkits", 127 "data_share:datashare_common", 128 "data_share:datashare_consumer", 129 "eventhandler:libeventhandler", 130 "ffrt:libffrt", 131 "hicollie:libhicollie", 132 "hilog:libhilog", 133 "hisysevent:libhisysevent", 134 "hitrace:hitrace_meter", 135 "ipc:ipc_core", 136 "kv_store:distributeddata_inner", 137 "os_account:os_account_innerkits", 138 "relational_store:native_rdb", 139 "resource_management:global_resmgr", 140 "safwk:system_ability_fwk", 141 "samgr:samgr_proxy", 142 "time_service:time_client", 143 ] 144 145 defines = [] 146 if (ability_runtime_power) { 147 defines = [ "SUPPORT_POWER" ] 148 external_deps += [ "power_manager:powermgr_client" ] 149 } 150 151 if (fms_ecologic_rule_mgr_enabled) { 152 include_dirs += [ "${ecological_rule_mgr_path}" ] 153 defines += [ "SUPPORT_ERMS" ] 154 external_deps += [ "ecological_rule_mgr:erms_client" ] 155 } 156 157 if (device_usage_statistics) { 158 external_deps += [ "device_usage_statistics:usagestatsinner" ] 159 defines += [ "DEVICE_USAGE_STATISTICS_ENABLE" ] 160 } 161 162 if (build_variant == "root") { 163 defines += [ "FORM_EVENT_FOR_TEST" ] 164 } 165 166 subsystem_name = "ability" 167 part_name = "form_fwk" 168} 169 170################################### fmskit_native ######################################## 171config("fmskit_config") { 172 defines = [ "FMS_LOG_TAG = \"FmskitNative\"" ] 173} 174 175config("fmskit_public_config") { 176 include_dirs = [ 177 "interfaces/kits/native/include", 178 "${ability_runtime_path}/services/common/include", 179 "${form_fwk_path}/interfaces/inner_api/include", 180 "${bundlefwk_inner_api_path}/appexecfwk_base/include", 181 ] 182} 183 184ohos_shared_library("fmskit_native") { 185 configs = [ ":fmskit_config" ] 186 public_configs = [ ":fmskit_public_config" ] 187 sources = [ 188 "interfaces/kits/native/src/form_caller_mgr.cpp", 189 "interfaces/kits/native/src/form_errors.cpp", 190 "interfaces/kits/native/src/form_host_caller.cpp", 191 "interfaces/kits/native/src/form_host_client.cpp", 192 "interfaces/kits/native/src/form_mgr.cpp", 193 "interfaces/kits/native/src/form_provider_caller.cpp", 194 "interfaces/kits/native/src/form_provider_client.cpp", 195 ] 196 197 cflags = [] 198 if (target_cpu == "arm") { 199 cflags += [ "-DBINDER_IPC_32BIT" ] 200 } 201 202 deps = [ ":form_manager" ] 203 204 external_deps = [ 205 "ability_base:want", 206 "ability_runtime:abilitykit_native", 207 "c_utils:utils", 208 "eventhandler:libeventhandler", 209 "hilog:libhilog", 210 "hitrace:hitrace_meter", 211 "ipc:ipc_core", 212 "napi:ace_napi", 213 "samgr:samgr_proxy", 214 ] 215 216 subsystem_name = "ability" 217 innerapi_tags = [ "platformsdk" ] 218 part_name = "form_fwk" 219} 220 221################################### form_manager ######################################## 222config("formmgr_sdk_config") { 223 visibility = [ ":*" ] 224 include_dirs = [ 225 "interfaces/inner_api/include/", 226 "//third_party/json/include", 227 "${ability_base_kits_path}/configuration/include", 228 "${ability_runtime_path}/interfaces/kits/native/ability/native", 229 "${ability_runtime_innerapi_path}/ability_manager/include", 230 "${ability_runtime_innerapi_path}/app_manager/include/appmgr", 231 "${ability_runtime_path}/services/common/include", 232 ] 233 cflags = [] 234 if (target_cpu == "arm") { 235 cflags += [ "-DBINDER_IPC_32BIT" ] 236 } 237} 238 239ohos_shared_library("form_manager") { 240 include_dirs = [ "${ability_runtime_innerapi_path}/runtime/include" ] 241 242 sources = [ 243 "interfaces/inner_api/src/form_ashmem.cpp", 244 "interfaces/inner_api/src/form_host_proxy.cpp", 245 "interfaces/inner_api/src/form_host_stub.cpp", 246 "interfaces/inner_api/src/form_info_filter.cpp", 247 "interfaces/inner_api/src/form_instance.cpp", 248 "interfaces/inner_api/src/form_instances_filter.cpp", 249 "interfaces/inner_api/src/form_js_info.cpp", 250 "interfaces/inner_api/src/form_mgr_proxy.cpp", 251 "interfaces/inner_api/src/form_mgr_stub.cpp", 252 "interfaces/inner_api/src/form_provider_data.cpp", 253 "interfaces/inner_api/src/form_provider_info.cpp", 254 "interfaces/inner_api/src/form_provider_proxy.cpp", 255 "interfaces/inner_api/src/form_provider_stub.cpp", 256 "interfaces/inner_api/src/form_publish_interceptor_proxy.cpp", 257 "interfaces/inner_api/src/form_publish_interceptor_stub.cpp", 258 "interfaces/inner_api/src/form_render_proxy.cpp", 259 "interfaces/inner_api/src/form_render_stub.cpp", 260 "interfaces/inner_api/src/form_share_info.cpp", 261 "interfaces/inner_api/src/form_supply_proxy.cpp", 262 "interfaces/inner_api/src/form_supply_stub.cpp", 263 "interfaces/inner_api/src/js_form_state_observer_proxy.cpp", 264 "interfaces/inner_api/src/js_form_state_observer_stub.cpp", 265 "interfaces/inner_api/src/provider_connect_proxy.cpp", 266 "interfaces/inner_api/src/provider_connect_stub.cpp", 267 "interfaces/inner_api/src/running_form_info.cpp", 268 ] 269 270 configs = [ ":formmgr_log_config" ] 271 272 public_configs = [ 273 ":formmgr_sdk_config", 274 "${form_fwk_path}:formmgr_config", 275 ] 276 277 deps = [ "//third_party/jsoncpp:jsoncpp" ] 278 279 external_deps = [ 280 "ability_base:want", 281 "bundle_framework:appexecfwk_base", 282 "c_utils:utils", 283 "hilog:libhilog", 284 "ipc:ipc_core", 285 "napi:ace_napi", 286 ] 287 288 subsystem_name = "ability" 289 innerapi_tags = [ "platformsdk" ] 290 part_name = "form_fwk" 291} 292 293ohos_prebuilt_etc("form_config") { 294 source = "services/config/form_config.xml" 295 module_install_dir = "etc/form" 296 part_name = "form_fwk" 297 subsystem_name = "ability" 298} 299 300group("form_napi_packages") { 301 if (ability_runtime_graphics) { 302 deps = [ 303 "${form_fwk_napi_path}:formbindingdata", 304 "${form_fwk_napi_path}:formbindingdata_napi", 305 "${form_fwk_napi_path}:formerror_napi", 306 "${form_fwk_napi_path}:formextension_napi", 307 "${form_fwk_napi_path}:formextensionability", 308 "${form_fwk_napi_path}:formextensioncontext_napi", 309 "${form_fwk_napi_path}:formhost", 310 "${form_fwk_napi_path}:formhost_napi", 311 "${form_fwk_napi_path}:forminfo", 312 "${form_fwk_napi_path}:forminfo_napi", 313 "${form_fwk_napi_path}:formobserver", 314 "${form_fwk_napi_path}:formprovider", 315 "${form_fwk_napi_path}:formprovider_napi", 316 "${form_fwk_napi_path}:formutil_napi", 317 ] 318 } 319} 320 321group("fms_innerkits_target") { 322 if (ability_runtime_graphics) { 323 deps = [ ":form_manager" ] 324 } 325} 326 327group("fms_target") { 328 deps = [ 329 ":libfms", 330 "services/form_render_service:formrender_service_hap", 331 ] 332} 333 334group("fms_services_target") { 335 if (ability_runtime_graphics) { 336 deps = [ ":fms_target" ] 337 } 338} 339