1# Copyright (c) 2021-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("//build/ohos_var.gni") 16import( 17 "//foundation/distributedhardware/distributed_hardware_fwk/distributedhardwarefwk.gni") 18 19ohos_shared_library("distributedhardwarefwksvr") { 20 sanitize = { 21 boundary_sanitize = true 22 integer_overflow = true 23 ubsan = true 24 cfi = true 25 cfi_cross_dso = true 26 debug = false 27 } 28 branch_protector_ret = "pac_ret" 29 include_dirs = [ 30 "include", 31 "include/accessmanager", 32 "${av_center_svc_path}/include", 33 "${av_center_svc_path}/include/ipc", 34 "${av_trans_path}/common/include", 35 "${av_trans_path}/interface", 36 "${innerkits_path}/include", 37 "${innerkits_path}/include/ipc", 38 "${common_path}/log/include", 39 "${common_path}/utils/include", 40 "${utils_path}/include/log", 41 "${utils_path}/include", 42 "include/componentloader", 43 "include/versionmanager", 44 "include/componentmanager", 45 "include/task", 46 "include/transport", 47 "include/utils", 48 "include/localhardwaremanager", 49 "include/publisher", 50 "include/resourcemanager", 51 "include/hidumphelper", 52 "include/ipc", 53 "${utils_path}/include/eventbus", 54 "include/lowlatency", 55 ] 56 57 sources = [ 58 "${av_center_svc_path}/src/av_sync_manager.cpp", 59 "${av_center_svc_path}/src/av_trans_control_center.cpp", 60 "${av_center_svc_path}/src/ipc/av_trans_control_center_callback_proxy.cpp", 61 "${av_trans_path}/common/src/av_sync_utils.cpp", 62 "${av_trans_path}/common/src/av_trans_log.cpp", 63 "${av_trans_path}/common/src/av_trans_message.cpp", 64 "${av_trans_path}/common/src/softbus_channel_adapter.cpp", 65 "src/accessmanager/access_manager.cpp", 66 "src/componentloader/component_loader.cpp", 67 "src/componentmanager/component_disable.cpp", 68 "src/componentmanager/component_enable.cpp", 69 "src/componentmanager/component_manager.cpp", 70 "src/componentmanager/component_monitor.cpp", 71 "src/componentmanager/component_privacy.cpp", 72 "src/componentmanager/dh_data_sync_trigger_listener.cpp", 73 "src/componentmanager/dh_state_listener.cpp", 74 "src/distributed_hardware_manager.cpp", 75 "src/distributed_hardware_manager_factory.cpp", 76 "src/distributed_hardware_service.cpp", 77 "src/distributed_hardware_stub.cpp", 78 "src/hidumphelper/enabled_comps_dump.cpp", 79 "src/hidumphelper/hidump_helper.cpp", 80 "src/ipc/publisher_listener_proxy.cpp", 81 "src/localhardwaremanager/local_hardware_manager.cpp", 82 "src/localhardwaremanager/plugin_listener_impl.cpp", 83 "src/lowlatency/low_latency.cpp", 84 "src/lowlatency/low_latency_listener.cpp", 85 "src/lowlatency/low_latency_timer.cpp", 86 "src/publisher/publisher.cpp", 87 "src/publisher/publisher_item.cpp", 88 "src/resourcemanager/capability_info.cpp", 89 "src/resourcemanager/capability_info_manager.cpp", 90 "src/resourcemanager/capability_utils.cpp", 91 "src/resourcemanager/db_adapter.cpp", 92 "src/resourcemanager/local_capability_info_manager.cpp", 93 "src/resourcemanager/meta_capability_info.cpp", 94 "src/resourcemanager/meta_info_manager.cpp", 95 "src/resourcemanager/version_info.cpp", 96 "src/resourcemanager/version_info_manager.cpp", 97 "src/task/disable_task.cpp", 98 "src/task/enable_task.cpp", 99 "src/task/meta_disable_task.cpp", 100 "src/task/meta_enable_task.cpp", 101 "src/task/offline_task.cpp", 102 "src/task/online_task.cpp", 103 "src/task/task.cpp", 104 "src/task/task_board.cpp", 105 "src/task/task_executor.cpp", 106 "src/task/task_factory.cpp", 107 "src/transport/dh_comm_tool.cpp", 108 "src/transport/dh_transport.cpp", 109 "src/transport/dh_transport_obj.cpp", 110 "src/utils/dh_context.cpp", 111 "src/utils/dh_modem_context_ext.cpp", 112 "src/utils/dh_timer.cpp", 113 "src/versionmanager/version_manager.cpp", 114 ] 115 116 deps = [ "${utils_path}:distributedhardwareutils" ] 117 118 defines = [ 119 "HI_LOG_ENABLE", 120 "DH_LOG_TAG=\"dhfwksvr\"", 121 "LOG_DOMAIN=0xD004100", 122 ] 123 124 cflags = [ 125 "-fstack-protector-strong", 126 "-D_FORTIFY_SOURCE=2", 127 "-O2", 128 ] 129 130 cflags_cc = cflags 131 132 if (distributed_hardware_fwk_low_latency) { 133 defines += [ "DHARDWARE_LOW_LATENCY" ] 134 } 135 136 if (!distributed_hardware_fwk_low_latency) { 137 defines += [ "DHARDWARE_OPEN_SOURCE" ] 138 } 139 140 external_deps = [ 141 "ability_base:want", 142 "ability_runtime:ability_manager", 143 "access_token:libaccesstoken_sdk", 144 "access_token:libtokenid_sdk", 145 "cJSON:cjson", 146 "c_utils:utils", 147 "config_policy:configpolicy_util", 148 "device_manager:devicemanagersdk", 149 "dsoftbus:softbus_client", 150 "eventhandler:libeventhandler", 151 "ffrt:libffrt", 152 "hilog:libhilog", 153 "hisysevent:libhisysevent", 154 "hitrace:hitrace_meter", 155 "init:libbegetutil", 156 "ipc:ipc_core", 157 "kv_store:distributeddata_inner", 158 "power_manager:powermgr_client", 159 "resource_schedule_service:ressched_client", 160 "safwk:system_ability_fwk", 161 "samgr:samgr_proxy", 162 ] 163 164 subsystem_name = "distributedhardware" 165 166 part_name = "distributed_hardware_fwk" 167} 168