Home | History | Annotate | Download | only in default
      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: "vhal_v2_0_defaults",
     17     shared_libs: [
     18         "libhidlbase",
     19         "libhidltransport",
     20         "liblog",
     21         "libutils",
     22         "android.hardware.automotive.vehicle (a] 2.0",
     23     ],
     24     cflags: [
     25         "-Wall",
     26         "-Wextra",
     27         "-Werror",
     28     ],
     29 }
     30 
     31 cc_library_headers {
     32     name: "vhal_v2_0_common_headers",
     33     vendor: true,
     34     export_include_dirs: ["common/include/vhal_v2_0"],
     35 }
     36 
     37 // Vehicle reference implementation lib
     38 cc_library_static {
     39     name: "android.hardware.automotive.vehicle (a] 2.0-manager-lib",
     40     vendor: true,
     41     defaults: ["vhal_v2_0_defaults"],
     42     srcs: [
     43         "common/src/Obd2SensorStore.cpp",
     44         "common/src/SubscriptionManager.cpp",
     45         "common/src/VehicleHalManager.cpp",
     46         "common/src/VehicleObjectPool.cpp",
     47         "common/src/VehiclePropertyStore.cpp",
     48         "common/src/VehicleUtils.cpp",
     49     ],
     50     local_include_dirs: ["common/include/vhal_v2_0"],
     51     export_include_dirs: ["common/include"],
     52 }
     53 
     54 cc_library_shared {
     55     name: "android.hardware.automotive.vehicle (a] 2.0-manager-lib-shared",
     56     vendor: true,
     57     static_libs: ["android.hardware.automotive.vehicle (a] 2.0-manager-lib"],
     58     export_static_lib_headers: ["android.hardware.automotive.vehicle (a] 2.0-manager-lib"],
     59 }
     60 
     61 // Vehicle default VehicleHAL implementation
     62 cc_library_static {
     63     name: "android.hardware.automotive.vehicle (a] 2.0-default-impl-lib",
     64     vendor: true,
     65     defaults: ["vhal_v2_0_defaults"],
     66     srcs: [
     67         "impl/vhal_v2_0/EmulatedVehicleHal.cpp",
     68         "impl/vhal_v2_0/VehicleEmulator.cpp",
     69         "impl/vhal_v2_0/PipeComm.cpp",
     70         "impl/vhal_v2_0/SocketComm.cpp",
     71     ],
     72     local_include_dirs: ["common/include/vhal_v2_0"],
     73     export_include_dirs: ["impl"],
     74     whole_static_libs: ["android.hardware.automotive.vehicle (a] 2.0-manager-lib"],
     75     shared_libs: [
     76         "libbase",
     77         "libprotobuf-cpp-lite",
     78     ],
     79     static_libs: [
     80         "libqemu_pipe",
     81         "android.hardware.automotive.vehicle (a] 2.0-libproto-native",
     82     ],
     83 }
     84 
     85 cc_test {
     86     name: "android.hardware.automotive.vehicle (a] 2.0-manager-unit-tests",
     87     vendor: true,
     88     defaults: ["vhal_v2_0_defaults"],
     89     whole_static_libs: ["android.hardware.automotive.vehicle (a] 2.0-manager-lib"],
     90     srcs: [
     91         "tests/RecurrentTimer_test.cpp",
     92         "tests/SubscriptionManager_test.cpp",
     93         "tests/VehicleHalManager_test.cpp",
     94         "tests/VehicleObjectPool_test.cpp",
     95         "tests/VehiclePropConfigIndex_test.cpp",
     96     ],
     97     header_libs: ["libbase_headers"],
     98 }
     99 
    100 cc_binary {
    101     name: "android.hardware.automotive.vehicle (a] 2.0-service",
    102     defaults: ["vhal_v2_0_defaults"],
    103     init_rc: ["android.hardware.automotive.vehicle (a] 2.0-service.rc"],
    104     vendor: true,
    105     relative_install_path: "hw",
    106     srcs: ["VehicleService.cpp"],
    107     shared_libs: [
    108         "libbase",
    109         "libprotobuf-cpp-lite",
    110     ],
    111     static_libs: [
    112         "android.hardware.automotive.vehicle (a] 2.0-manager-lib",
    113         "android.hardware.automotive.vehicle (a] 2.0-default-impl-lib",
    114         "android.hardware.automotive.vehicle (a] 2.0-libproto-native",
    115         "libqemu_pipe",
    116     ],
    117 }
    118