1794c9f46Sopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd. 2794c9f46Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3794c9f46Sopenharmony_ci# you may not use this file except in compliance with the License. 4794c9f46Sopenharmony_ci# You may obtain a copy of the License at 5794c9f46Sopenharmony_ci# 6794c9f46Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7794c9f46Sopenharmony_ci# 8794c9f46Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9794c9f46Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10794c9f46Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11794c9f46Sopenharmony_ci# See the License for the specific language governing permissions and 12794c9f46Sopenharmony_ci# limitations under the License. 13794c9f46Sopenharmony_ci 14794c9f46Sopenharmony_ciimport("//build/ohos.gni") 15794c9f46Sopenharmony_ciimport("//build/ohos_var.gni") 16794c9f46Sopenharmony_ciimport( 17794c9f46Sopenharmony_ci "//foundation/distributedhardware/distributed_hardware_fwk/distributedhardwarefwk.gni") 18794c9f46Sopenharmony_ci 19794c9f46Sopenharmony_ciohos_shared_library("distributedhardwarefwksvr") { 20794c9f46Sopenharmony_ci sanitize = { 21794c9f46Sopenharmony_ci boundary_sanitize = true 22794c9f46Sopenharmony_ci integer_overflow = true 23794c9f46Sopenharmony_ci ubsan = true 24794c9f46Sopenharmony_ci cfi = true 25794c9f46Sopenharmony_ci cfi_cross_dso = true 26794c9f46Sopenharmony_ci debug = false 27794c9f46Sopenharmony_ci } 28794c9f46Sopenharmony_ci branch_protector_ret = "pac_ret" 29794c9f46Sopenharmony_ci include_dirs = [ 30794c9f46Sopenharmony_ci "include", 31794c9f46Sopenharmony_ci "include/accessmanager", 32794c9f46Sopenharmony_ci "${av_center_svc_path}/include", 33794c9f46Sopenharmony_ci "${av_center_svc_path}/include/ipc", 34794c9f46Sopenharmony_ci "${av_trans_path}/common/include", 35794c9f46Sopenharmony_ci "${av_trans_path}/interface", 36794c9f46Sopenharmony_ci "${innerkits_path}/include", 37794c9f46Sopenharmony_ci "${innerkits_path}/include/ipc", 38794c9f46Sopenharmony_ci "${common_path}/log/include", 39794c9f46Sopenharmony_ci "${common_path}/utils/include", 40794c9f46Sopenharmony_ci "${utils_path}/include/log", 41794c9f46Sopenharmony_ci "${utils_path}/include", 42794c9f46Sopenharmony_ci "include/componentloader", 43794c9f46Sopenharmony_ci "include/versionmanager", 44794c9f46Sopenharmony_ci "include/componentmanager", 45794c9f46Sopenharmony_ci "include/task", 46794c9f46Sopenharmony_ci "include/transport", 47794c9f46Sopenharmony_ci "include/utils", 48794c9f46Sopenharmony_ci "include/localhardwaremanager", 49794c9f46Sopenharmony_ci "include/publisher", 50794c9f46Sopenharmony_ci "include/resourcemanager", 51794c9f46Sopenharmony_ci "include/hidumphelper", 52794c9f46Sopenharmony_ci "include/ipc", 53794c9f46Sopenharmony_ci "${utils_path}/include/eventbus", 54794c9f46Sopenharmony_ci "include/lowlatency", 55794c9f46Sopenharmony_ci ] 56794c9f46Sopenharmony_ci 57794c9f46Sopenharmony_ci sources = [ 58794c9f46Sopenharmony_ci "${av_center_svc_path}/src/av_sync_manager.cpp", 59794c9f46Sopenharmony_ci "${av_center_svc_path}/src/av_trans_control_center.cpp", 60794c9f46Sopenharmony_ci "${av_center_svc_path}/src/ipc/av_trans_control_center_callback_proxy.cpp", 61794c9f46Sopenharmony_ci "${av_trans_path}/common/src/av_sync_utils.cpp", 62794c9f46Sopenharmony_ci "${av_trans_path}/common/src/av_trans_log.cpp", 63794c9f46Sopenharmony_ci "${av_trans_path}/common/src/av_trans_message.cpp", 64794c9f46Sopenharmony_ci "${av_trans_path}/common/src/softbus_channel_adapter.cpp", 65794c9f46Sopenharmony_ci "src/accessmanager/access_manager.cpp", 66794c9f46Sopenharmony_ci "src/componentloader/component_loader.cpp", 67794c9f46Sopenharmony_ci "src/componentmanager/component_disable.cpp", 68794c9f46Sopenharmony_ci "src/componentmanager/component_enable.cpp", 69794c9f46Sopenharmony_ci "src/componentmanager/component_manager.cpp", 70794c9f46Sopenharmony_ci "src/componentmanager/component_monitor.cpp", 71794c9f46Sopenharmony_ci "src/componentmanager/component_privacy.cpp", 72794c9f46Sopenharmony_ci "src/componentmanager/dh_data_sync_trigger_listener.cpp", 73794c9f46Sopenharmony_ci "src/componentmanager/dh_state_listener.cpp", 74794c9f46Sopenharmony_ci "src/distributed_hardware_manager.cpp", 75794c9f46Sopenharmony_ci "src/distributed_hardware_manager_factory.cpp", 76794c9f46Sopenharmony_ci "src/distributed_hardware_service.cpp", 77794c9f46Sopenharmony_ci "src/distributed_hardware_stub.cpp", 78794c9f46Sopenharmony_ci "src/hidumphelper/enabled_comps_dump.cpp", 79794c9f46Sopenharmony_ci "src/hidumphelper/hidump_helper.cpp", 80794c9f46Sopenharmony_ci "src/ipc/publisher_listener_proxy.cpp", 81794c9f46Sopenharmony_ci "src/localhardwaremanager/local_hardware_manager.cpp", 82794c9f46Sopenharmony_ci "src/localhardwaremanager/plugin_listener_impl.cpp", 83794c9f46Sopenharmony_ci "src/lowlatency/low_latency.cpp", 84794c9f46Sopenharmony_ci "src/lowlatency/low_latency_listener.cpp", 85794c9f46Sopenharmony_ci "src/lowlatency/low_latency_timer.cpp", 86794c9f46Sopenharmony_ci "src/publisher/publisher.cpp", 87794c9f46Sopenharmony_ci "src/publisher/publisher_item.cpp", 88794c9f46Sopenharmony_ci "src/resourcemanager/capability_info.cpp", 89794c9f46Sopenharmony_ci "src/resourcemanager/capability_info_manager.cpp", 90794c9f46Sopenharmony_ci "src/resourcemanager/capability_utils.cpp", 91794c9f46Sopenharmony_ci "src/resourcemanager/db_adapter.cpp", 92794c9f46Sopenharmony_ci "src/resourcemanager/local_capability_info_manager.cpp", 93794c9f46Sopenharmony_ci "src/resourcemanager/meta_capability_info.cpp", 94794c9f46Sopenharmony_ci "src/resourcemanager/meta_info_manager.cpp", 95794c9f46Sopenharmony_ci "src/resourcemanager/version_info.cpp", 96794c9f46Sopenharmony_ci "src/resourcemanager/version_info_manager.cpp", 97794c9f46Sopenharmony_ci "src/task/disable_task.cpp", 98794c9f46Sopenharmony_ci "src/task/enable_task.cpp", 99794c9f46Sopenharmony_ci "src/task/meta_disable_task.cpp", 100794c9f46Sopenharmony_ci "src/task/meta_enable_task.cpp", 101794c9f46Sopenharmony_ci "src/task/offline_task.cpp", 102794c9f46Sopenharmony_ci "src/task/online_task.cpp", 103794c9f46Sopenharmony_ci "src/task/task.cpp", 104794c9f46Sopenharmony_ci "src/task/task_board.cpp", 105794c9f46Sopenharmony_ci "src/task/task_executor.cpp", 106794c9f46Sopenharmony_ci "src/task/task_factory.cpp", 107794c9f46Sopenharmony_ci "src/transport/dh_comm_tool.cpp", 108794c9f46Sopenharmony_ci "src/transport/dh_transport.cpp", 109794c9f46Sopenharmony_ci "src/transport/dh_transport_obj.cpp", 110794c9f46Sopenharmony_ci "src/utils/dh_context.cpp", 111794c9f46Sopenharmony_ci "src/utils/dh_modem_context_ext.cpp", 112794c9f46Sopenharmony_ci "src/utils/dh_timer.cpp", 113794c9f46Sopenharmony_ci "src/versionmanager/version_manager.cpp", 114794c9f46Sopenharmony_ci ] 115794c9f46Sopenharmony_ci 116794c9f46Sopenharmony_ci deps = [ "${utils_path}:distributedhardwareutils" ] 117794c9f46Sopenharmony_ci 118794c9f46Sopenharmony_ci defines = [ 119794c9f46Sopenharmony_ci "HI_LOG_ENABLE", 120794c9f46Sopenharmony_ci "DH_LOG_TAG=\"dhfwksvr\"", 121794c9f46Sopenharmony_ci "LOG_DOMAIN=0xD004100", 122794c9f46Sopenharmony_ci ] 123794c9f46Sopenharmony_ci 124794c9f46Sopenharmony_ci cflags = [ 125794c9f46Sopenharmony_ci "-fstack-protector-strong", 126794c9f46Sopenharmony_ci "-D_FORTIFY_SOURCE=2", 127794c9f46Sopenharmony_ci "-O2", 128794c9f46Sopenharmony_ci ] 129794c9f46Sopenharmony_ci 130794c9f46Sopenharmony_ci cflags_cc = cflags 131794c9f46Sopenharmony_ci 132794c9f46Sopenharmony_ci if (distributed_hardware_fwk_low_latency) { 133794c9f46Sopenharmony_ci defines += [ "DHARDWARE_LOW_LATENCY" ] 134794c9f46Sopenharmony_ci } 135794c9f46Sopenharmony_ci 136794c9f46Sopenharmony_ci if (!distributed_hardware_fwk_low_latency) { 137794c9f46Sopenharmony_ci defines += [ "DHARDWARE_OPEN_SOURCE" ] 138794c9f46Sopenharmony_ci } 139794c9f46Sopenharmony_ci 140794c9f46Sopenharmony_ci if (distributed_hardware_fwk_low_latency) { 141794c9f46Sopenharmony_ci defines += [ "DHARDWARE_CHECK_RESOURCE" ] 142794c9f46Sopenharmony_ci } 143794c9f46Sopenharmony_ci 144794c9f46Sopenharmony_ci external_deps = [ 145794c9f46Sopenharmony_ci "ability_base:want", 146794c9f46Sopenharmony_ci "ability_runtime:ability_manager", 147794c9f46Sopenharmony_ci "access_token:libaccesstoken_sdk", 148794c9f46Sopenharmony_ci "access_token:libtokenid_sdk", 149794c9f46Sopenharmony_ci "cJSON:cjson", 150794c9f46Sopenharmony_ci "c_utils:utils", 151794c9f46Sopenharmony_ci "config_policy:configpolicy_util", 152794c9f46Sopenharmony_ci "device_manager:devicemanagersdk", 153794c9f46Sopenharmony_ci "dsoftbus:softbus_client", 154794c9f46Sopenharmony_ci "eventhandler:libeventhandler", 155794c9f46Sopenharmony_ci "ffrt:libffrt", 156794c9f46Sopenharmony_ci "hilog:libhilog", 157794c9f46Sopenharmony_ci "hisysevent:libhisysevent", 158794c9f46Sopenharmony_ci "hitrace:hitrace_meter", 159794c9f46Sopenharmony_ci "init:libbegetutil", 160794c9f46Sopenharmony_ci "ipc:ipc_core", 161794c9f46Sopenharmony_ci "kv_store:distributeddata_inner", 162794c9f46Sopenharmony_ci "resource_schedule_service:ressched_client", 163794c9f46Sopenharmony_ci "safwk:system_ability_fwk", 164794c9f46Sopenharmony_ci "samgr:samgr_proxy", 165794c9f46Sopenharmony_ci ] 166794c9f46Sopenharmony_ci 167794c9f46Sopenharmony_ci if (powermgr_power_manager_fwk) { 168794c9f46Sopenharmony_ci external_deps += [ "power_manager:powermgr_client" ] 169794c9f46Sopenharmony_ci defines += [ "POWER_MANAGER_ENABLE" ] 170794c9f46Sopenharmony_ci } 171794c9f46Sopenharmony_ci 172794c9f46Sopenharmony_ci subsystem_name = "distributedhardware" 173794c9f46Sopenharmony_ci 174794c9f46Sopenharmony_ci part_name = "distributed_hardware_fwk" 175794c9f46Sopenharmony_ci} 176