# Copyright (c) 2022-2024 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. if (defined(ohos_lite)) { import("//build/lite/config/component/lite_component.gni") } else { import("//build/ohos.gni") } import("//foundation/distributedhardware/device_manager/device_manager.gni") if (defined(ohos_lite)) { if (ohos_kernel_type == "linux") { executable("devicemanagerservice") { include_dirs = [ "include", "include/advertise", "include/discovery", "include/softbus", "include/ipc/lite", "include/permission/lite", "include/pinholder", "${common_path}/include", "${common_path}/include/ipc", "${common_path}/include/ipc/lite", "${common_path}/include/ipc/model", "${common_path}/include/dfx", "${common_path}/include/dfx/lite", "${utils_path}/include", "${utils_path}/include/appInfo/lite", "${utils_path}/include/crypto", "${utils_path}/include/fwkload/lite", "${utils_path}/include/kvadapter", "${utils_path}/include/timer/lite", "${innerkits_path}/native_cpp/include", "${innerkits_path}/native_cpp/include/ipc", "${innerkits_path}/native_cpp/include/ipc/lite", "//third_party/json/include", "//third_party/bounds_checking_function/include", "//base/hiviewdfx/hilog_lite/interfaces/native/kits/hilog", "//base/hiviewdfx/hilog_lite/interfaces/native/kits/hilog_lite", "${interfaces_path}/c/ipc/include", "//foundation/distributedshedule/samgr_lite/interfaces/kits/samgr", "//foundation/systemabilitymgr/samgr/interfaces/innerkits/samgr_proxy/include", "${devicemanager_path}/radar/include", "${softbuscache_parh}/include", ] sources = [ "${common_path}/src/dm_anonymous.cpp", "src/advertise/advertise_manager.cpp", "src/device_manager_service.cpp", "src/device_manager_service_listener.cpp", "src/discovery/discovery_filter.cpp", "src/discovery/discovery_manager.cpp", "src/ipc/lite/ipc_cmd_parser.cpp", "src/ipc/lite/ipc_server_listener.cpp", "src/ipc/lite/ipc_server_listenermgr.cpp", "src/ipc/lite/ipc_server_main.cpp", "src/ipc/lite/ipc_server_stub.cpp", "src/permission/lite/permission_manager.cpp", "src/pinholder/pin_holder.cpp", "src/pinholder/pin_holder_session.cpp", "src/softbus/mine_softbus_listener.cpp", "src/softbus/softbus_listener.cpp", ] defines = [ "LITE_DEVICE", "HI_LOG_ENABLE", "DH_LOG_TAG=\"devicemanagerservice\"", "LOG_DOMAIN=0xD004110", ] deps = [ "${devicemanager_path}/radar:devicemanagerradar", "${softbuscache_parh}:dmdevicecache", "${utils_path}:devicemanagerutils", "//base/security/device_auth/services:deviceauth_sdk", "//base/startup/init/interfaces/innerkits:libbegetutil", "//commonlibrary/utils_lite:utils", "//foundation/communication/dsoftbus:dsoftbus", "//foundation/systemabilitymgr/safwk_lite:safwk_lite", "//foundation/systemabilitymgr/samgr_lite/samgr:samgr", "//third_party/bounds_checking_function:libsec_shared", "//third_party/openssl:libcrypto_shared", ] cflags = [ "-Wall", "-O2", "-Wdate-time", "-Wextra", "-Wfloat-equal", "-Wshadow", ] cflags_cc = cflags } } } else if (!support_jsapi) { group("devicemanagerservice") { deps = [] } } else { config("devicemanagerservice_config") { include_dirs = [ "include", "include/advertise", "include/discovery", "include/ipc", "include/ipc/standard", "include/permission/standard", "include/pinholder", "include/publishcommonevent", "include/softbus", "${common_path}/include", "${common_path}/include/dfx", "${common_path}/include/dfx/standard", "${common_path}/include/ipc", "${common_path}/include/ipc/model", "${common_path}/include/ipc/standard", "${devicemanager_path}/commondependency/include", "${devicemanager_path}/radar/include", "${innerkits_path}/native_cpp/include", "${softbuscache_parh}/include", "${utils_path}/include/appInfo/standard", "${utils_path}/include/crypto", "${utils_path}/include/kvadapter", "${utils_path}/include/timer", ] } ohos_shared_library("devicemanagerservice") { branch_protector_ret = "pac_ret" sanitize = { boundary_sanitize = true cfi = true cfi_cross_dso = true debug = false integer_overflow = true ubsan = true } sources = [ "${common_path}/src/dfx/standard/dm_hidumper.cpp", "${common_path}/src/dm_anonymous.cpp", "${common_path}/src/ipc/standard/ipc_cmd_register.cpp", "src/advertise/advertise_manager.cpp", "src/device_manager_service.cpp", "src/device_manager_service_listener.cpp", "src/discovery/discovery_filter.cpp", "src/discovery/discovery_manager.cpp", "src/ipc/standard/ipc_cmd_parser.cpp", "src/ipc/standard/ipc_server_client_proxy.cpp", "src/ipc/standard/ipc_server_listener.cpp", "src/ipc/standard/ipc_server_stub.cpp", "src/permission/standard/permission_manager.cpp", "src/pinholder/pin_holder.cpp", "src/pinholder/pin_holder_session.cpp", "src/publishcommonevent/dm_account_common_event.cpp", "src/publishcommonevent/dm_package_common_event.cpp", "src/publishcommonevent/dm_screen_common_event.cpp", "src/softbus/mine_softbus_listener.cpp", "src/softbus/softbus_listener.cpp", ] public_configs = [ ":devicemanagerservice_config" ] defines = [ "HI_LOG_ENABLE", "DH_LOG_TAG=\"devicemanagerservice\"", "LOG_DOMAIN=0xD004110", ] deps = [ "${devicemanager_path}/commondependency:devicemanagerdependency", "${devicemanager_path}/radar:devicemanagerradar", "${softbuscache_parh}:dmdevicecache", "${utils_path}:devicemanagerutils", ] external_deps = [ "ability_base:want", "access_token:libaccesstoken_sdk", "access_token:libtokenid_sdk", "c_utils:utils", "common_event_service:cesfwk_core", "common_event_service:cesfwk_innerkits", "device_info_manager:distributed_device_profile_common", "device_info_manager:distributed_device_profile_sdk", "dsoftbus:softbus_client", "eventhandler:libeventhandler", "ffrt:libffrt", "hicollie:libhicollie", "hilog:libhilog", "init:libbeget_proxy", "init:libbegetutil", "ipc:ipc_core", "ipc:ipc_single", "openssl:libcrypto_shared", "os_account:libaccountkits", "safwk:system_ability_fwk", "samgr:samgr_proxy", ] if (support_bluetooth || support_wifi) { sources += [ "src/publishcommonevent/dm_publish_common_event.cpp", "src/softbus/softbus_publish.cpp", ] } if (support_bluetooth) { defines += [ "SUPPORT_BLUETOOTH" ] external_deps += [ "bluetooth:btframework" ] } if (support_wifi) { defines += [ "SUPPORT_WIFI" ] external_deps += [ "wifi:wifi_sdk" ] } if (support_power_manager) { defines += [ "SUPPORT_POWER_MANAGER" ] external_deps += [ "power_manager:powermgr_client" ] } if (support_memmgr) { defines += [ "SUPPORT_MEMMGR" ] external_deps += [ "memmgr:memmgrclient" ] } public_external_deps = [ "json:nlohmann_json_static" ] subsystem_name = "distributedhardware" part_name = "device_manager" } }