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