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
14import("//build/ohos.gni")
15import("../../common/config/common.gni")
16
17config("edmservice_kits_config") {
18  include_dirs = [
19    "../../common/native/include",
20    "account_manager/include",
21    "application_manager/include",
22    "bluetooth_manager/include",
23    "browser/include",
24    "bundle_manager/include",
25    "common/include",
26    "datetime_manager/include",
27    "device_control/include",
28    "device_info/include",
29    "device_settings/include",
30    "location_manager/include",
31    "network_manager/include",
32    "restrictions/include",
33    "security_manager/include",
34    "system_manager/include",
35    "usb_manager/include",
36    "wifi_manager/include",
37  ]
38}
39
40ohos_shared_library("edmservice_kits") {
41  public_configs = [ ":edmservice_kits_config" ]
42
43  sources = [
44    "./account_manager/src/account_manager_proxy.cpp",
45    "./application_manager/src/application_manager_proxy.cpp",
46    "./bluetooth_manager/src/bluetooth_manager_proxy.cpp",
47    "./browser/src/browser_proxy.cpp",
48    "./bundle_manager/src/bundle_manager_proxy.cpp",
49    "./common/src/edm_load_callback.cpp",
50    "./common/src/edm_load_manager.cpp",
51    "./common/src/ent_info.cpp",
52    "./common/src/enterprise_device_mgr_proxy.cpp",
53    "./datetime_manager/src/datetime_manager_proxy.cpp",
54    "./device_control/src/device_control_proxy.cpp",
55    "./device_info/src/device_info_proxy.cpp",
56    "./device_settings/src/device_settings_proxy.cpp",
57    "./device_settings/src/power_policy.cpp",
58    "./location_manager/src/location_manager_proxy.cpp",
59    "./network_manager/src/network_manager_proxy.cpp",
60    "./restrictions/src/restrictions_proxy.cpp",
61    "./security_manager/src/security_manager_proxy.cpp",
62    "./system_manager/src/system_manager_proxy.cpp",
63    "./system_manager/src/update_policy_utils.cpp",
64    "./usb_manager/src/usb_manager_proxy.cpp",
65    "./wifi_manager/src/wifi_manager_proxy.cpp",
66  ]
67
68  innerapi_tags = [ "platformsdk" ]
69
70  configs = [ "../../common/config:coverage_flags" ]
71
72  version_script = "libedmservice_kits.map"
73
74  deps = [ "../../common/native:edm_commom" ]
75
76  external_deps = [
77    "c_utils:utils",
78    "hilog:libhilog",
79    "init:libbegetutil",
80    "ipc:ipc_core",
81    "samgr:samgr_proxy",
82  ]
83
84  public_external_deps = [ "ability_base:want" ]
85  defines = []
86
87  if (os_account_edm_enable) {
88    external_deps += [ "os_account:os_account_innerkits" ]
89    defines += [ "OS_ACCOUNT_EDM_ENABLE" ]
90  }
91
92  if (netmanager_base_edm_enable) {
93    external_deps += [ "netmanager_base:net_conn_manager_if" ]
94    defines += [ "NETMANAGER_BASE_EDM_ENABLE" ]
95  }
96
97  if (wifi_edm_enable) {
98    external_deps += [ "wifi:wifi_sdk" ]
99    defines += [ "WIFI_EDM_ENABLE" ]
100  }
101
102  if (drivers_interface_usb_edm_enable && usb_manager_edm_enable) {
103    external_deps += [ "usb_manager:usbsrv_client" ]
104    defines += [ "USB_EDM_ENABLE" ]
105  }
106
107  sanitize = {
108    boundary_sanitize = true
109    cfi = true
110    cfi_cross_dso = true
111    debug = false
112    integer_overflow = true
113    ubsan = true
114  }
115  branch_protector_ret = "pac_ret"
116  subsystem_name = "customization"
117  part_name = "enterprise_device_management"
118}
119