1f7a47986Sopenharmony_ci# Copyright (c) 2022-2024 Huawei Device Co., Ltd.
2f7a47986Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3f7a47986Sopenharmony_ci# you may not use this file except in compliance with the License.
4f7a47986Sopenharmony_ci# You may obtain a copy of the License at
5f7a47986Sopenharmony_ci#
6f7a47986Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7f7a47986Sopenharmony_ci#
8f7a47986Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9f7a47986Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10f7a47986Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11f7a47986Sopenharmony_ci# See the License for the specific language governing permissions and
12f7a47986Sopenharmony_ci# limitations under the License.
13f7a47986Sopenharmony_ci
14f7a47986Sopenharmony_ciimport("//build/ohos.gni")
15f7a47986Sopenharmony_ciimport("../../common/config/common.gni")
16f7a47986Sopenharmony_ci
17f7a47986Sopenharmony_ciconfig("edmservice_kits_config") {
18f7a47986Sopenharmony_ci  include_dirs = [
19f7a47986Sopenharmony_ci    "../../common/native/include",
20f7a47986Sopenharmony_ci    "account_manager/include",
21f7a47986Sopenharmony_ci    "application_manager/include",
22f7a47986Sopenharmony_ci    "bluetooth_manager/include",
23f7a47986Sopenharmony_ci    "browser/include",
24f7a47986Sopenharmony_ci    "bundle_manager/include",
25f7a47986Sopenharmony_ci    "common/include",
26f7a47986Sopenharmony_ci    "datetime_manager/include",
27f7a47986Sopenharmony_ci    "device_control/include",
28f7a47986Sopenharmony_ci    "device_info/include",
29f7a47986Sopenharmony_ci    "device_settings/include",
30f7a47986Sopenharmony_ci    "location_manager/include",
31f7a47986Sopenharmony_ci    "network_manager/include",
32f7a47986Sopenharmony_ci    "restrictions/include",
33f7a47986Sopenharmony_ci    "security_manager/include",
34f7a47986Sopenharmony_ci    "system_manager/include",
35f7a47986Sopenharmony_ci    "usb_manager/include",
36f7a47986Sopenharmony_ci    "wifi_manager/include",
37f7a47986Sopenharmony_ci  ]
38f7a47986Sopenharmony_ci}
39f7a47986Sopenharmony_ci
40f7a47986Sopenharmony_ciohos_shared_library("edmservice_kits") {
41f7a47986Sopenharmony_ci  public_configs = [ ":edmservice_kits_config" ]
42f7a47986Sopenharmony_ci
43f7a47986Sopenharmony_ci  sources = [
44f7a47986Sopenharmony_ci    "./account_manager/src/account_manager_proxy.cpp",
45f7a47986Sopenharmony_ci    "./application_manager/src/application_manager_proxy.cpp",
46f7a47986Sopenharmony_ci    "./bluetooth_manager/src/bluetooth_manager_proxy.cpp",
47f7a47986Sopenharmony_ci    "./browser/src/browser_proxy.cpp",
48f7a47986Sopenharmony_ci    "./bundle_manager/src/bundle_manager_proxy.cpp",
49f7a47986Sopenharmony_ci    "./common/src/edm_load_callback.cpp",
50f7a47986Sopenharmony_ci    "./common/src/edm_load_manager.cpp",
51f7a47986Sopenharmony_ci    "./common/src/ent_info.cpp",
52f7a47986Sopenharmony_ci    "./common/src/enterprise_device_mgr_proxy.cpp",
53f7a47986Sopenharmony_ci    "./datetime_manager/src/datetime_manager_proxy.cpp",
54f7a47986Sopenharmony_ci    "./device_control/src/device_control_proxy.cpp",
55f7a47986Sopenharmony_ci    "./device_info/src/device_info_proxy.cpp",
56f7a47986Sopenharmony_ci    "./device_settings/src/device_settings_proxy.cpp",
57f7a47986Sopenharmony_ci    "./device_settings/src/power_policy.cpp",
58f7a47986Sopenharmony_ci    "./location_manager/src/location_manager_proxy.cpp",
59f7a47986Sopenharmony_ci    "./network_manager/src/network_manager_proxy.cpp",
60f7a47986Sopenharmony_ci    "./restrictions/src/restrictions_proxy.cpp",
61f7a47986Sopenharmony_ci    "./security_manager/src/security_manager_proxy.cpp",
62f7a47986Sopenharmony_ci    "./system_manager/src/system_manager_proxy.cpp",
63f7a47986Sopenharmony_ci    "./system_manager/src/update_policy_utils.cpp",
64f7a47986Sopenharmony_ci    "./usb_manager/src/usb_manager_proxy.cpp",
65f7a47986Sopenharmony_ci    "./wifi_manager/src/wifi_manager_proxy.cpp",
66f7a47986Sopenharmony_ci  ]
67f7a47986Sopenharmony_ci
68f7a47986Sopenharmony_ci  innerapi_tags = [ "platformsdk" ]
69f7a47986Sopenharmony_ci
70f7a47986Sopenharmony_ci  configs = [ "../../common/config:coverage_flags" ]
71f7a47986Sopenharmony_ci
72f7a47986Sopenharmony_ci  version_script = "libedmservice_kits.map"
73f7a47986Sopenharmony_ci
74f7a47986Sopenharmony_ci  deps = [ "../../common/native:edm_commom" ]
75f7a47986Sopenharmony_ci
76f7a47986Sopenharmony_ci  external_deps = [
77f7a47986Sopenharmony_ci    "c_utils:utils",
78f7a47986Sopenharmony_ci    "hilog:libhilog",
79f7a47986Sopenharmony_ci    "init:libbegetutil",
80f7a47986Sopenharmony_ci    "ipc:ipc_core",
81f7a47986Sopenharmony_ci    "samgr:samgr_proxy",
82f7a47986Sopenharmony_ci  ]
83f7a47986Sopenharmony_ci
84f7a47986Sopenharmony_ci  public_external_deps = [
85f7a47986Sopenharmony_ci    "ability_base:want",
86f7a47986Sopenharmony_ci    "image_framework:image_native",
87f7a47986Sopenharmony_ci  ]
88f7a47986Sopenharmony_ci  defines = []
89f7a47986Sopenharmony_ci
90f7a47986Sopenharmony_ci  if (os_account_edm_enable) {
91f7a47986Sopenharmony_ci    external_deps += [ "os_account:os_account_innerkits" ]
92f7a47986Sopenharmony_ci    defines += [ "OS_ACCOUNT_EDM_ENABLE" ]
93f7a47986Sopenharmony_ci  }
94f7a47986Sopenharmony_ci
95f7a47986Sopenharmony_ci  if (netmanager_base_edm_enable) {
96f7a47986Sopenharmony_ci    external_deps += [ "netmanager_base:net_conn_manager_if" ]
97f7a47986Sopenharmony_ci    defines += [ "NETMANAGER_BASE_EDM_ENABLE" ]
98f7a47986Sopenharmony_ci  }
99f7a47986Sopenharmony_ci
100f7a47986Sopenharmony_ci  if (wifi_edm_enable) {
101f7a47986Sopenharmony_ci    external_deps += [ "wifi:wifi_sdk" ]
102f7a47986Sopenharmony_ci    defines += [ "WIFI_EDM_ENABLE" ]
103f7a47986Sopenharmony_ci  }
104f7a47986Sopenharmony_ci
105f7a47986Sopenharmony_ci  if (drivers_interface_usb_edm_enable && usb_manager_edm_enable) {
106f7a47986Sopenharmony_ci    external_deps += [ "usb_manager:usbsrv_client" ]
107f7a47986Sopenharmony_ci    defines += [ "USB_EDM_ENABLE" ]
108f7a47986Sopenharmony_ci  }
109f7a47986Sopenharmony_ci
110f7a47986Sopenharmony_ci  sanitize = {
111f7a47986Sopenharmony_ci    boundary_sanitize = true
112f7a47986Sopenharmony_ci    cfi = true
113f7a47986Sopenharmony_ci    cfi_cross_dso = true
114f7a47986Sopenharmony_ci    debug = false
115f7a47986Sopenharmony_ci    integer_overflow = true
116f7a47986Sopenharmony_ci    ubsan = true
117f7a47986Sopenharmony_ci  }
118f7a47986Sopenharmony_ci  branch_protector_ret = "pac_ret"
119f7a47986Sopenharmony_ci  subsystem_name = "customization"
120f7a47986Sopenharmony_ci  part_name = "enterprise_device_management"
121f7a47986Sopenharmony_ci}
122