1# Copyright (c) 2022-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 14if (defined(ohos_lite)) { 15 import("//build/lite/config/component/lite_component.gni") 16} else { 17 import("//build/ohos.gni") 18} 19 20import("//foundation/distributedhardware/device_manager/device_manager.gni") 21 22if (defined(ohos_lite)) { 23 if (ohos_kernel_type == "linux") { 24 executable("devicemanagerservice") { 25 include_dirs = [ 26 "include", 27 "include/advertise", 28 "include/discovery", 29 "include/softbus", 30 "include/ipc/lite", 31 "include/permission/lite", 32 "include/pinholder", 33 "${common_path}/include", 34 "${common_path}/include/ipc", 35 "${common_path}/include/ipc/lite", 36 "${common_path}/include/ipc/model", 37 "${common_path}/include/dfx", 38 "${common_path}/include/dfx/lite", 39 "${utils_path}/include", 40 "${utils_path}/include/appInfo/lite", 41 "${utils_path}/include/crypto", 42 "${utils_path}/include/fwkload/lite", 43 "${utils_path}/include/kvadapter", 44 "${utils_path}/include/timer/lite", 45 "${innerkits_path}/native_cpp/include", 46 "${innerkits_path}/native_cpp/include/ipc", 47 "${innerkits_path}/native_cpp/include/ipc/lite", 48 "//third_party/json/include", 49 "//third_party/bounds_checking_function/include", 50 "//base/hiviewdfx/hilog_lite/interfaces/native/kits/hilog", 51 "//base/hiviewdfx/hilog_lite/interfaces/native/kits/hilog_lite", 52 "${interfaces_path}/c/ipc/include", 53 "//foundation/distributedshedule/samgr_lite/interfaces/kits/samgr", 54 "//foundation/systemabilitymgr/samgr/interfaces/innerkits/samgr_proxy/include", 55 "${devicemanager_path}/radar/include", 56 "${softbuscache_parh}/include", 57 ] 58 59 sources = [ 60 "${common_path}/src/dm_anonymous.cpp", 61 "src/advertise/advertise_manager.cpp", 62 "src/device_manager_service.cpp", 63 "src/device_manager_service_listener.cpp", 64 "src/discovery/discovery_filter.cpp", 65 "src/discovery/discovery_manager.cpp", 66 "src/ipc/lite/ipc_cmd_parser.cpp", 67 "src/ipc/lite/ipc_server_listener.cpp", 68 "src/ipc/lite/ipc_server_listenermgr.cpp", 69 "src/ipc/lite/ipc_server_main.cpp", 70 "src/ipc/lite/ipc_server_stub.cpp", 71 "src/permission/lite/permission_manager.cpp", 72 "src/pinholder/pin_holder.cpp", 73 "src/pinholder/pin_holder_session.cpp", 74 "src/softbus/mine_softbus_listener.cpp", 75 "src/softbus/softbus_listener.cpp", 76 ] 77 78 defines = [ 79 "LITE_DEVICE", 80 "HI_LOG_ENABLE", 81 "DH_LOG_TAG=\"devicemanagerservice\"", 82 "LOG_DOMAIN=0xD004110", 83 ] 84 85 deps = [ 86 "${devicemanager_path}/radar:devicemanagerradar", 87 "${softbuscache_parh}:dmdevicecache", 88 "${utils_path}:devicemanagerutils", 89 "//base/security/device_auth/services:deviceauth_sdk", 90 "//base/startup/init/interfaces/innerkits:libbegetutil", 91 "//commonlibrary/utils_lite:utils", 92 "//foundation/communication/dsoftbus:dsoftbus", 93 "//foundation/systemabilitymgr/safwk_lite:safwk_lite", 94 "//foundation/systemabilitymgr/samgr_lite/samgr:samgr", 95 "//third_party/bounds_checking_function:libsec_shared", 96 "//third_party/openssl:libcrypto_shared", 97 ] 98 99 cflags = [ 100 "-Wall", 101 "-O2", 102 "-Wdate-time", 103 "-Wextra", 104 "-Wfloat-equal", 105 "-Wshadow", 106 ] 107 108 cflags_cc = cflags 109 } 110 } 111} else if (!support_jsapi) { 112 group("devicemanagerservice") { 113 deps = [] 114 } 115} else { 116 config("devicemanagerservice_config") { 117 include_dirs = [ 118 "include", 119 "include/advertise", 120 "include/discovery", 121 "include/ipc", 122 "include/ipc/standard", 123 "include/permission/standard", 124 "include/pinholder", 125 "include/publishcommonevent", 126 "include/softbus", 127 "${common_path}/include", 128 "${common_path}/include/dfx", 129 "${common_path}/include/dfx/standard", 130 "${common_path}/include/ipc", 131 "${common_path}/include/ipc/model", 132 "${common_path}/include/ipc/standard", 133 "${devicemanager_path}/commondependency/include", 134 "${devicemanager_path}/radar/include", 135 "${innerkits_path}/native_cpp/include", 136 "${softbuscache_parh}/include", 137 "${utils_path}/include/appInfo/standard", 138 "${utils_path}/include/crypto", 139 "${utils_path}/include/kvadapter", 140 "${utils_path}/include/timer", 141 ] 142 } 143 144 ohos_shared_library("devicemanagerservice") { 145 branch_protector_ret = "pac_ret" 146 147 sanitize = { 148 boundary_sanitize = true 149 cfi = true 150 cfi_cross_dso = true 151 debug = false 152 integer_overflow = true 153 ubsan = true 154 } 155 156 sources = [ 157 "${common_path}/src/dfx/standard/dm_hidumper.cpp", 158 "${common_path}/src/dm_anonymous.cpp", 159 "${common_path}/src/ipc/standard/ipc_cmd_register.cpp", 160 "src/advertise/advertise_manager.cpp", 161 "src/device_manager_service.cpp", 162 "src/device_manager_service_listener.cpp", 163 "src/discovery/discovery_filter.cpp", 164 "src/discovery/discovery_manager.cpp", 165 "src/ipc/standard/ipc_cmd_parser.cpp", 166 "src/ipc/standard/ipc_server_client_proxy.cpp", 167 "src/ipc/standard/ipc_server_listener.cpp", 168 "src/ipc/standard/ipc_server_stub.cpp", 169 "src/permission/standard/permission_manager.cpp", 170 "src/pinholder/pin_holder.cpp", 171 "src/pinholder/pin_holder_session.cpp", 172 "src/publishcommonevent/dm_account_common_event.cpp", 173 "src/publishcommonevent/dm_package_common_event.cpp", 174 "src/publishcommonevent/dm_screen_common_event.cpp", 175 "src/softbus/mine_softbus_listener.cpp", 176 "src/softbus/softbus_listener.cpp", 177 ] 178 179 public_configs = [ ":devicemanagerservice_config" ] 180 181 defines = [ 182 "HI_LOG_ENABLE", 183 "DH_LOG_TAG=\"devicemanagerservice\"", 184 "LOG_DOMAIN=0xD004110", 185 ] 186 187 deps = [ 188 "${devicemanager_path}/commondependency:devicemanagerdependency", 189 "${devicemanager_path}/radar:devicemanagerradar", 190 "${softbuscache_parh}:dmdevicecache", 191 "${utils_path}:devicemanagerutils", 192 ] 193 194 external_deps = [ 195 "ability_base:want", 196 "access_token:libaccesstoken_sdk", 197 "access_token:libtokenid_sdk", 198 "c_utils:utils", 199 "common_event_service:cesfwk_core", 200 "common_event_service:cesfwk_innerkits", 201 "device_info_manager:distributed_device_profile_common", 202 "device_info_manager:distributed_device_profile_sdk", 203 "dsoftbus:softbus_client", 204 "eventhandler:libeventhandler", 205 "ffrt:libffrt", 206 "hicollie:libhicollie", 207 "hilog:libhilog", 208 "init:libbeget_proxy", 209 "init:libbegetutil", 210 "ipc:ipc_core", 211 "ipc:ipc_single", 212 "openssl:libcrypto_shared", 213 "os_account:libaccountkits", 214 "safwk:system_ability_fwk", 215 "samgr:samgr_proxy", 216 ] 217 218 if (support_bluetooth || support_wifi) { 219 sources += [ 220 "src/publishcommonevent/dm_publish_common_event.cpp", 221 "src/softbus/softbus_publish.cpp", 222 ] 223 } 224 225 if (support_bluetooth) { 226 defines += [ "SUPPORT_BLUETOOTH" ] 227 external_deps += [ "bluetooth:btframework" ] 228 } 229 230 if (support_wifi) { 231 defines += [ "SUPPORT_WIFI" ] 232 external_deps += [ "wifi:wifi_sdk" ] 233 } 234 235 if (support_power_manager) { 236 defines += [ "SUPPORT_POWER_MANAGER" ] 237 external_deps += [ "power_manager:powermgr_client" ] 238 } 239 240 if (support_memmgr) { 241 defines += [ "SUPPORT_MEMMGR" ] 242 external_deps += [ "memmgr:memmgrclient" ] 243 } 244 245 public_external_deps = [ "json:nlohmann_json_static" ] 246 247 subsystem_name = "distributedhardware" 248 249 part_name = "device_manager" 250 } 251} 252