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