1// Copyright (C) 2017 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 // See: http://go/android-license-faq 17 // A large-scale-change added 'default_applicable_licenses' to import 18 // all of the 'license_kinds' from "hardware_libhardware_license" 19 // to get the below license kinds: 20 // SPDX-license-identifier-Apache-2.0 21 default_applicable_licenses: ["hardware_libhardware_license"], 22} 23 24cc_defaults { 25 name: "dynamic_sensor_defaults", 26 27 // intended to be integrated into hal, thus vendor 28 vendor: true, 29 30 cflags: [ 31 "-Wall", 32 "-Werror", 33 "-Wextra", 34 ], 35 export_include_dirs: ["."], 36 37 shared_libs: [ 38 "libhidparser", 39 ], 40 41 target: { 42 android: { 43 srcs: [ 44 "BaseDynamicSensorDaemon.cpp", 45 "BaseSensorObject.cpp", 46 "ConnectionDetector.cpp", 47 "DummyDynamicAccelDaemon.cpp", 48 "DynamicSensorManager.cpp", 49 "HidRawDevice.cpp", 50 "HidRawSensor.cpp", 51 "HidRawSensorDaemon.cpp", 52 "HidRawSensorDevice.cpp", 53 "RingBuffer.cpp", 54 ], 55 shared_libs: [ 56 "libbase", 57 "libcutils", 58 "liblog", 59 "libutils", 60 ], 61 header_libs: [ 62 "libhardware_headers", 63 "libstagefright_foundation_headers", 64 ], 65 }, 66 67 host: { 68 local_include_dirs: [ 69 "test", 70 "HidUtils/test", 71 ], 72 }, 73 74 // host test is targeting linux host only 75 darwin: { 76 enabled: false, 77 }, 78 }, 79} 80 81// 82// There are two ways to utilize the dynamic sensor module: 83// 1. Use as an extension in an existing hal: declare dependency on libdynamic_sensor_ext shared 84// library in existing sensor hal. 85// 2. Use as a standalone sensor HAL and configure multihal to combine it with sensor hal that 86// hosts other sensors: add dependency on sensors.dynamic_sensor_hal in device level makefile and 87// write multihal configuration file accordingly. 88// 89// Please take only one of these two options to avoid conflict over hardware resource. 90// 91// 92// Option 1: sensor extension module 93// 94cc_library_shared { 95 name: "libdynamic_sensor_ext", 96 defaults: ["dynamic_sensor_defaults"], 97 98 cflags: ["-DLOG_TAG=\"DynamicSensorExt\""], 99} 100 101// 102// Option 2: independent sensor hal 103// 104cc_library_shared { 105 name: "sensors.dynamic_sensor_hal", 106 defaults: ["dynamic_sensor_defaults"], 107 relative_install_path: "hw", 108 109 cflags: ["-DLOG_TAG=\"DynamicSensorHal\""], 110 111 srcs: [ 112 "DynamicSensorsSubHal.cpp", 113 "sensors.cpp", 114 ], 115 shared_libs: [ 116 "android.hardware.sensors@2.0", 117 "android.hardware.sensors@2.0-ScopedWakelock", 118 "android.hardware.sensors@2.1", 119 "libhidlbase", 120 ], 121 static_libs: [ 122 "android.hardware.sensors@1.0-convert", 123 ], 124 header_libs: [ 125 "android.hardware.sensors@2.X-multihal.header", 126 "android.hardware.sensors@2.X-shared-utils", 127 ], 128} 129 130// 131// Host test for HidRawSensor. Test with dummy test HID descriptors. 132// 133cc_binary_host { 134 name: "hidrawsensor_host_test", 135 defaults: ["dynamic_sensor_defaults"], 136 137 srcs: [ 138 "HidRawSensor.cpp", 139 "BaseSensorObject.cpp", 140 "HidUtils/test/TestHidDescriptor.cpp", 141 "test/HidRawSensorTest.cpp", 142 ], 143} 144 145// 146// Host test for HidRawDevice and HidRawSensor. Test with hidraw 147// device node. 148// 149cc_binary_host { 150 name: "hidrawdevice_host_test", 151 defaults: ["dynamic_sensor_defaults"], 152 153 srcs: [ 154 "HidRawDevice.cpp", 155 "HidRawSensor.cpp", 156 "BaseSensorObject.cpp", 157 "test/HidRawDeviceTest.cpp", 158 ], 159} 160