• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/interface/src/light_hdi_connection.cpp",
22    "hdi_connection/interface/src/vibrator_hdi_connection.cpp",
23    "src/miscdevice_common_event_subscriber.cpp",
24    "src/miscdevice_dump.cpp",
25    "src/miscdevice_observer.cpp",
26    "src/miscdevice_service.cpp",
27    "src/vibration_priority_manager.cpp",
28    "src/vibrator_thread.cpp",
29  ]
30
31  include_dirs = [
32    "haptic_matcher/include",
33    "include",
34    "$SUBSYSTEM_DIR/interfaces/inner_api/light",
35    "$SUBSYSTEM_DIR/services/miscdevice_service/hdi_connection/adapter/include",
36    "$SUBSYSTEM_DIR/services/miscdevice_service/hdi_connection/interface/include",
37    "$SUBSYSTEM_DIR/utils/common/include",
38    "$SUBSYSTEM_DIR/utils/haptic_decoder/interface",
39    "$SUBSYSTEM_DIR/utils/haptic_decoder/oh_json/include",
40  ]
41
42  cflags = [
43    "-Wno-error=inconsistent-missing-override",
44    "-fvisibility=hidden",
45    "-ffunction-sections",
46    "-fdata-sections",
47    "-Oz",
48  ]
49
50  cflags_cc = [
51    "-fvisibility=hidden",
52    "-ffunction-sections",
53    "-fdata-sections",
54    "-Oz",
55  ]
56
57  if (miscdevice_build_eng) {
58    sources += [ "hdi_connection/adapter/src/compatible_connection.cpp" ]
59  }
60
61  branch_protector_ret = "pac_ret"
62  sanitize = {
63    cfi = true
64    cfi_cross_dso = true
65    debug = false
66  }
67
68  deps = [
69    "$SUBSYSTEM_DIR/frameworks/native/vibrator:miscdevice_service_stub",
70    "$SUBSYSTEM_DIR/utils:miscdevice_utils_target",
71  ]
72
73  external_deps = [
74    "ability_runtime:app_manager",
75    "access_token:libaccesstoken_sdk",
76    "access_token:libtokenid_sdk",
77    "cJSON:cjson",
78    "data_share:datashare_consumer",
79    "hilog:libhilog",
80    "safwk:system_ability_fwk",
81  ]
82
83  if (miscdevice_feature_vibrator_input_method_enable) {
84    external_deps += [
85      "bundle_framework:appexecfwk_core",
86      "os_account:os_account_innerkits",
87    ]
88  }
89
90  defines = miscdevice_default_defines
91
92  if (miscdevice_memmgr_enable) {
93    defines += [ "MEMMGR_ENABLE" ]
94    external_deps += [ "memmgr:memmgrclient" ]
95  }
96
97  if (miscdevice_feature_vibrator_custom) {
98    external_deps += [ "init:libbegetutil" ]
99  }
100
101  if (miscdevice_feature_hdf_drivers_interface_vibrator) {
102    sources += [ "hdi_connection/adapter/src/hdi_connection.cpp" ]
103
104    external_deps += [
105      "drivers_interface_vibrator:libvibrator_proxy_1.1",
106      "drivers_interface_vibrator:libvibrator_proxy_1.2",
107      "drivers_interface_vibrator:libvibrator_proxy_1.3",
108    ]
109  }
110
111  if (hdf_drivers_interface_light) {
112    sources += [ "hdi_connection/adapter/src/hdi_light_connection.cpp" ]
113
114    external_deps += [ "drivers_interface_light:liblight_proxy_1.0" ]
115  }
116
117  if (miscdevice_feature_hiviewdfx_hisysevent) {
118    external_deps += [ "hisysevent:libhisysevent" ]
119  }
120
121  if (miscdevice_feature_hiviewdfx_hitrace) {
122    external_deps += [ "hitrace:hitrace_meter" ]
123  }
124
125  shlib_type = "sa"
126  part_name = "miscdevice"
127  subsystem_name = "sensors"
128}
129
130#############################################################################
131ohos_static_library("libmiscdevice_service_static") {
132  sources = [
133    "haptic_matcher/src/custom_vibration_matcher.cpp",
134    "hdi_connection/adapter/src/compatible_light_connection.cpp",
135    "hdi_connection/interface/src/light_hdi_connection.cpp",
136    "hdi_connection/interface/src/vibrator_hdi_connection.cpp",
137    "src/miscdevice_common_event_subscriber.cpp",
138    "src/miscdevice_dump.cpp",
139    "src/miscdevice_observer.cpp",
140    "src/miscdevice_service.cpp",
141    "src/vibration_priority_manager.cpp",
142    "src/vibrator_thread.cpp",
143  ]
144
145  include_dirs = [
146    "haptic_matcher/include",
147    "include",
148    "$SUBSYSTEM_DIR/interfaces/inner_api/light",
149    "$SUBSYSTEM_DIR/services/miscdevice_service/hdi_connection/adapter/include",
150    "$SUBSYSTEM_DIR/services/miscdevice_service/hdi_connection/interface/include",
151    "$SUBSYSTEM_DIR/utils/common/include",
152    "$SUBSYSTEM_DIR/utils/haptic_decoder/interface",
153    "$SUBSYSTEM_DIR/utils/haptic_decoder/oh_json/include",
154  ]
155
156  cflags = [
157    "-fvisibility=hidden",
158    "-ffunction-sections",
159    "-fdata-sections",
160    "-Oz",
161  ]
162
163  cflags_cc = [
164    "-Wno-error=inconsistent-missing-override",
165    "-fvisibility=hidden",
166    "-ffunction-sections",
167    "-fdata-sections",
168    "-Oz",
169  ]
170
171  if (miscdevice_build_eng) {
172    sources += [ "hdi_connection/adapter/src/compatible_connection.cpp" ]
173  }
174
175  branch_protector_ret = "pac_ret"
176  sanitize = {
177    cfi = true
178    cfi_cross_dso = true
179    debug = false
180  }
181
182  deps = [
183    "$SUBSYSTEM_DIR/frameworks/native/vibrator:miscdevice_service_stub",
184    "$SUBSYSTEM_DIR/utils:miscdevice_utils_target",
185  ]
186
187  external_deps = [
188    "ability_runtime:app_manager",
189    "access_token:libaccesstoken_sdk",
190    "access_token:libtokenid_sdk",
191    "cJSON:cjson",
192    "data_share:datashare_consumer",
193    "hilog:libhilog",
194    "safwk:system_ability_fwk",
195  ]
196
197  if (miscdevice_feature_vibrator_input_method_enable) {
198    external_deps += [
199      "bundle_framework:appexecfwk_core",
200      "os_account:os_account_innerkits",
201    ]
202  }
203
204  defines = miscdevice_default_defines
205
206  if (miscdevice_memmgr_enable) {
207    defines += [ "MEMMGR_ENABLE" ]
208    external_deps += [ "memmgr:memmgrclient" ]
209  }
210
211  if (miscdevice_feature_vibrator_custom) {
212    external_deps += [ "init:libbegetutil" ]
213  }
214
215  if (miscdevice_feature_hdf_drivers_interface_vibrator) {
216    sources += [ "hdi_connection/adapter/src/hdi_connection.cpp" ]
217
218    external_deps += [
219      "drivers_interface_vibrator:libvibrator_proxy_1.1",
220      "drivers_interface_vibrator:libvibrator_proxy_1.2",
221      "drivers_interface_vibrator:libvibrator_proxy_1.3",
222    ]
223  }
224
225  if (hdf_drivers_interface_light) {
226    sources += [ "hdi_connection/adapter/src/hdi_light_connection.cpp" ]
227
228    external_deps += [ "drivers_interface_light:liblight_proxy_1.0" ]
229  }
230
231  if (miscdevice_feature_hiviewdfx_hisysevent) {
232    external_deps += [ "hisysevent:libhisysevent" ]
233  }
234
235  if (miscdevice_feature_hiviewdfx_hitrace) {
236    external_deps += [ "hitrace:hitrace_meter" ]
237  }
238
239  part_name = "miscdevice"
240  subsystem_name = "sensors"
241}
242
243group("miscdevice_service_target") {
244  deps = [
245    ":libmiscdevice_service",
246    ":libmiscdevice_service_static",
247  ]
248}
249