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 15cc_defaults { 16 name: "vhal_v2_0_defaults", 17 shared_libs: [ 18 "libhidlbase", 19 "libhidltransport", 20 "liblog", 21 "libutils", 22 "android.hardware.automotive.vehicle@2.0", 23 ], 24 cflags: [ 25 "-Wall", 26 "-Wextra", 27 "-Werror", 28 ], 29} 30 31cc_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 38cc_library { 39 name: "android.hardware.automotive.vehicle@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 "common/src/VmsUtils.cpp", 50 ], 51 local_include_dirs: ["common/include/vhal_v2_0"], 52 export_include_dirs: ["common/include"], 53} 54 55// Vehicle default VehicleHAL implementation 56cc_library_static { 57 name: "android.hardware.automotive.vehicle@2.0-default-impl-lib", 58 vendor: true, 59 defaults: ["vhal_v2_0_defaults"], 60 srcs: [ 61 "impl/vhal_v2_0/EmulatedVehicleHal.cpp", 62 "impl/vhal_v2_0/VehicleEmulator.cpp", 63 "impl/vhal_v2_0/PipeComm.cpp", 64 "impl/vhal_v2_0/SocketComm.cpp", 65 "impl/vhal_v2_0/LinearFakeValueGenerator.cpp", 66 "impl/vhal_v2_0/JsonFakeValueGenerator.cpp", 67 ], 68 local_include_dirs: ["common/include/vhal_v2_0"], 69 export_include_dirs: ["impl"], 70 whole_static_libs: ["android.hardware.automotive.vehicle@2.0-manager-lib"], 71 shared_libs: [ 72 "libbase", 73 "libprotobuf-cpp-lite", 74 ], 75 static_libs: [ 76 "libjsoncpp", 77 "libqemu_pipe", 78 "android.hardware.automotive.vehicle@2.0-libproto-native", 79 ], 80} 81 82cc_test { 83 name: "android.hardware.automotive.vehicle@2.0-manager-unit-tests", 84 vendor: true, 85 defaults: ["vhal_v2_0_defaults"], 86 whole_static_libs: ["android.hardware.automotive.vehicle@2.0-manager-lib"], 87 srcs: [ 88 "tests/RecurrentTimer_test.cpp", 89 "tests/SubscriptionManager_test.cpp", 90 "tests/VehicleHalManager_test.cpp", 91 "tests/VehicleObjectPool_test.cpp", 92 "tests/VehiclePropConfigIndex_test.cpp", 93 "tests/VmsUtils_test.cpp", 94 ], 95 header_libs: ["libbase_headers"], 96} 97 98cc_binary { 99 name: "android.hardware.automotive.vehicle@2.0-service", 100 defaults: ["vhal_v2_0_defaults"], 101 init_rc: ["android.hardware.automotive.vehicle@2.0-service.rc"], 102 vendor: true, 103 relative_install_path: "hw", 104 srcs: ["VehicleService.cpp"], 105 shared_libs: [ 106 "libbase", 107 "libprotobuf-cpp-lite", 108 ], 109 static_libs: [ 110 "android.hardware.automotive.vehicle@2.0-manager-lib", 111 "android.hardware.automotive.vehicle@2.0-default-impl-lib", 112 "android.hardware.automotive.vehicle@2.0-libproto-native", 113 "libjsoncpp", 114 "libqemu_pipe", 115 ], 116} 117