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("./../../miscdevice.gni")
16
17ohos_shared_library("libmiscdevice_service") {
18  sources = [
19    "haptic_matcher/src/custom_vibration_matcher.cpp",
20    "hdi_connection/adapter/src/compatible_light_connection.cpp",
21    "hdi_connection/adapter/src/hdi_connection.cpp",
22    "hdi_connection/interface/src/light_hdi_connection.cpp",
23    "hdi_connection/interface/src/vibrator_hdi_connection.cpp",
24    "src/miscdevice_common_event_subscriber.cpp",
25    "src/miscdevice_dump.cpp",
26    "src/miscdevice_observer.cpp",
27    "src/miscdevice_service.cpp",
28    "src/miscdevice_service_stub.cpp",
29    "src/vibration_priority_manager.cpp",
30    "src/vibrator_thread.cpp",
31  ]
32
33  include_dirs = [
34    "haptic_matcher/include",
35    "include",
36    "$SUBSYSTEM_DIR/frameworks/native/common/include",
37    "$SUBSYSTEM_DIR/interfaces/inner_api/light",
38    "$SUBSYSTEM_DIR/services/miscdevice_service/hdi_connection/adapter/include",
39    "$SUBSYSTEM_DIR/services/miscdevice_service/hdi_connection/interface/include",
40    "$SUBSYSTEM_DIR/utils/common/include",
41    "$SUBSYSTEM_DIR/utils/haptic_decoder/interface",
42    "$SUBSYSTEM_DIR/utils/haptic_decoder/oh_json/include",
43  ]
44
45  if (miscdevice_build_eng) {
46    sources += [ "hdi_connection/adapter/src/compatible_connection.cpp" ]
47  }
48
49  branch_protector_ret = "pac_ret"
50  sanitize = {
51    cfi = true
52    cfi_cross_dso = true
53    debug = false
54  }
55
56  cflags = [ "-Wno-error=inconsistent-missing-override" ]
57  deps = [ "$SUBSYSTEM_DIR/utils:miscdevice_utils_target" ]
58
59  external_deps = [
60    "ability_base:want",
61    "ability_base:zuri",
62    "ability_runtime:app_manager",
63    "ability_runtime:dataobs_manager",
64    "access_token:libaccesstoken_sdk",
65    "access_token:libprivacy_sdk",
66    "access_token:libtokenid_sdk",
67    "bundle_framework:appexecfwk_base",
68    "bundle_framework:appexecfwk_core",
69    "cJSON:cjson",
70    "c_utils:utils",
71    "common_event_service:cesfwk_innerkits",
72    "data_share:datashare_consumer",
73    "drivers_interface_vibrator:libvibrator_proxy_1.3",
74    "hilog:libhilog",
75    "hisysevent:libhisysevent",
76    "hitrace:hitrace_meter",
77    "ipc:ipc_single",
78    "os_account:os_account_innerkits",
79    "safwk:system_ability_fwk",
80    "samgr:samgr_proxy",
81  ]
82
83  defines = miscdevice_default_defines
84
85  if (miscdevice_memmgr_enable) {
86    defines += [ "MEMMGR_ENABLE" ]
87    external_deps += [ "memmgr:memmgrclient" ]
88  }
89
90  if (miscdevice_feature_vibrator_custom) {
91    external_deps += [ "init:libbegetutil" ]
92  }
93
94  if (hdf_drivers_interface_light) {
95    sources += [ "hdi_connection/adapter/src/hdi_light_connection.cpp" ]
96
97    external_deps += [ "drivers_interface_light:liblight_proxy_1.0" ]
98  }
99
100  shlib_type = "sa"
101  part_name = "miscdevice"
102  subsystem_name = "sensors"
103}
104
105#############################################################################
106ohos_static_library("libmiscdevice_service_static") {
107  sources = [
108    "haptic_matcher/src/custom_vibration_matcher.cpp",
109    "hdi_connection/adapter/src/compatible_light_connection.cpp",
110    "hdi_connection/adapter/src/hdi_connection.cpp",
111    "hdi_connection/interface/src/light_hdi_connection.cpp",
112    "hdi_connection/interface/src/vibrator_hdi_connection.cpp",
113    "src/miscdevice_common_event_subscriber.cpp",
114    "src/miscdevice_dump.cpp",
115    "src/miscdevice_observer.cpp",
116    "src/miscdevice_service.cpp",
117    "src/miscdevice_service_stub.cpp",
118    "src/vibration_priority_manager.cpp",
119    "src/vibrator_thread.cpp",
120  ]
121
122  include_dirs = [
123    "haptic_matcher/include",
124    "include",
125    "$SUBSYSTEM_DIR/frameworks/native/common/include",
126    "$SUBSYSTEM_DIR/interfaces/inner_api/light",
127    "$SUBSYSTEM_DIR/services/miscdevice_service/hdi_connection/adapter/include",
128    "$SUBSYSTEM_DIR/services/miscdevice_service/hdi_connection/interface/include",
129    "$SUBSYSTEM_DIR/utils/common/include",
130    "$SUBSYSTEM_DIR/utils/haptic_decoder/interface",
131    "$SUBSYSTEM_DIR/utils/haptic_decoder/oh_json/include",
132  ]
133
134  if (miscdevice_build_eng) {
135    sources += [ "hdi_connection/adapter/src/compatible_connection.cpp" ]
136  }
137
138  branch_protector_ret = "pac_ret"
139  sanitize = {
140    cfi = true
141    cfi_cross_dso = true
142    debug = false
143  }
144
145  cflags = [ "-Wno-error=inconsistent-missing-override" ]
146  deps = [ "$SUBSYSTEM_DIR/utils:miscdevice_utils_target" ]
147
148  external_deps = [
149    "ability_base:want",
150    "ability_base:zuri",
151    "ability_runtime:app_manager",
152    "ability_runtime:dataobs_manager",
153    "access_token:libaccesstoken_sdk",
154    "access_token:libprivacy_sdk",
155    "access_token:libtokenid_sdk",
156    "bundle_framework:appexecfwk_base",
157    "bundle_framework:appexecfwk_core",
158    "cJSON:cjson",
159    "c_utils:utils",
160    "common_event_service:cesfwk_innerkits",
161    "data_share:datashare_consumer",
162    "drivers_interface_vibrator:libvibrator_proxy_1.3",
163    "hilog:libhilog",
164    "hisysevent:libhisysevent",
165    "hitrace:hitrace_meter",
166    "ipc:ipc_single",
167    "os_account:os_account_innerkits",
168    "safwk:system_ability_fwk",
169    "samgr:samgr_proxy",
170  ]
171
172  defines = miscdevice_default_defines
173
174  if (miscdevice_memmgr_enable) {
175    defines += [ "MEMMGR_ENABLE" ]
176    external_deps += [ "memmgr:memmgrclient" ]
177  }
178
179  if (miscdevice_feature_vibrator_custom) {
180    external_deps += [ "init:libbegetutil" ]
181  }
182
183  if (hdf_drivers_interface_light) {
184    sources += [ "hdi_connection/adapter/src/hdi_light_connection.cpp" ]
185
186    external_deps += [ "drivers_interface_light:liblight_proxy_1.0" ]
187  }
188
189  part_name = "miscdevice"
190  subsystem_name = "sensors"
191}
192
193group("miscdevice_service_target") {
194  deps = [
195    ":libmiscdevice_service",
196    ":libmiscdevice_service_static",
197  ]
198}
199