Home | History | Annotate | Download | only in dynamic_sensor
      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 
     15 cc_defaults {
     16     name: "dynamic_sensor_defaults",
     17 
     18     // intended to be integrated into hal, thus vendor
     19     vendor: true,
     20 
     21     cflags: [
     22         "-Wall",
     23         "-Werror",
     24         "-Wextra",
     25         // Allow implicit fallthroughs in HidRawSensor.cpp until they are fixed.
     26         "-Wno-error=implicit-fallthrough",
     27     ],
     28     export_include_dirs: ["."],
     29 
     30     shared_libs: [
     31         "libhidparser",
     32     ],
     33 
     34     target: {
     35         android: {
     36             srcs: [
     37                 "BaseDynamicSensorDaemon.cpp",
     38                 "BaseSensorObject.cpp",
     39                 "ConnectionDetector.cpp",
     40                 "DummyDynamicAccelDaemon.cpp",
     41                 "DynamicSensorManager.cpp",
     42                 "HidRawDevice.cpp",
     43                 "HidRawSensor.cpp",
     44                 "HidRawSensorDaemon.cpp",
     45                 "HidRawSensorDevice.cpp",
     46                 "RingBuffer.cpp",
     47             ],
     48             shared_libs: [
     49                 "libbase",
     50                 "libcutils",
     51                 "liblog",
     52                 "libutils",
     53             ],
     54             header_libs: [
     55                 "libhardware_headers",
     56                 "libstagefright_foundation_headers",
     57             ],
     58         },
     59 
     60         host: {
     61             local_include_dirs: [
     62                 "test",
     63                 "HidUtils/test",
     64             ],
     65         },
     66 
     67         // host test is targeting linux host only
     68         darwin: {
     69             enabled: false,
     70         },
     71     },
     72 }
     73 
     74 //
     75 // There are two ways to utilize the dynamic sensor module:
     76 //   1. Use as an extension in an existing hal: declare dependency on libdynamic_sensor_ext shared
     77 //      library in existing sensor hal.
     78 //   2. Use as a standalone sensor HAL and configure multihal to combine it with sensor hal that
     79 //      hosts other sensors: add dependency on sensors.dynamic_sensor_hal in device level makefile and
     80 //      write multihal configuration file accordingly.
     81 //
     82 // Please take only one of these two options to avoid conflict over hardware resource.
     83 //
     84 //
     85 // Option 1: sensor extension module
     86 //
     87 cc_library_shared {
     88     name: "libdynamic_sensor_ext",
     89     defaults: ["dynamic_sensor_defaults"],
     90 
     91     cflags: ["-DLOG_TAG=\"DynamicSensorExt\""],
     92 }
     93 
     94 //
     95 // Option 2: independent sensor hal
     96 //
     97 cc_library_shared {
     98     name: "sensors.dynamic_sensor_hal",
     99     defaults: ["dynamic_sensor_defaults"],
    100     relative_install_path: "hw",
    101 
    102     cflags: ["-DLOG_TAG=\"DynamicSensorHal\""],
    103 
    104     srcs: ["sensors.cpp"],
    105 }
    106 
    107 //
    108 // Host test for HidRawSensor. Test with dummy test HID descriptors.
    109 //
    110 cc_binary_host {
    111     name: "hidrawsensor_host_test",
    112     defaults: ["dynamic_sensor_defaults"],
    113 
    114     srcs: [
    115         "HidRawSensor.cpp",
    116         "BaseSensorObject.cpp",
    117         "HidUtils/test/TestHidDescriptor.cpp",
    118         "test/HidRawSensorTest.cpp",
    119     ],
    120 }
    121 
    122 //
    123 // Host test for HidRawDevice and HidRawSensor. Test with hidraw
    124 // device node.
    125 //
    126 cc_binary_host {
    127     name: "hidrawdevice_host_test",
    128     defaults: ["dynamic_sensor_defaults"],
    129 
    130     srcs: [
    131         "HidRawDevice.cpp",
    132         "HidRawSensor.cpp",
    133         "BaseSensorObject.cpp",
    134         "test/HidRawDeviceTest.cpp",
    135     ],
    136 }
    137