Initial submit of Vehicle HAL 2.1
Major changes / decisions:
- created empty IVehicle@2.1 interface to distinguish HAL impls
from client's (Car Service) perspective;
- created default 2.1 implementation that currently delegates all
calls to existing 2.0 implementation
- had to refactor a little bit 2.0 thus components could be esily
imported in 2.1
TOOD:
- move OBD and VMS code to 2.1
- decouple "DefaultVehicleHal.cpp"
- rename "DefaultVehicleHal" to Emulator (let's call things by their names)
b/34716856
Test: todo
Change-Id: Ib23650ca1277f0dfb24e5c789d65a19dce8b1abc
diff --git a/automotive/vehicle/2.0/default/Android.mk b/automotive/vehicle/2.0/default/Android.mk
index c394f2e..324be51 100644
--- a/automotive/vehicle/2.0/default/Android.mk
+++ b/automotive/vehicle/2.0/default/Android.mk
@@ -14,20 +14,26 @@
LOCAL_PATH := $(call my-dir)
-module_prefix = android.hardware.automotive.vehicle@2.0
+vhal_v2_0 = android.hardware.automotive.vehicle@2.0
###############################################################################
# Vehicle reference implementation lib
###############################################################################
include $(CLEAR_VARS)
-LOCAL_MODULE := $(module_prefix)-manager-lib
+LOCAL_MODULE := $(vhal_v2_0)-manager-lib
LOCAL_SRC_FILES := \
- vehicle_hal_manager/AccessControlConfigParser.cpp \
- vehicle_hal_manager/Obd2SensorStore.cpp \
- vehicle_hal_manager/SubscriptionManager.cpp \
- vehicle_hal_manager/VehicleHalManager.cpp \
- vehicle_hal_manager/VehicleObjectPool.cpp \
- vehicle_hal_manager/VehicleUtils.cpp \
+ common/src/AccessControlConfigParser.cpp \
+ common/src/Obd2SensorStore.cpp \
+ common/src/SubscriptionManager.cpp \
+ common/src/VehicleHalManager.cpp \
+ common/src/VehicleObjectPool.cpp \
+ common/src/VehicleUtils.cpp \
+
+LOCAL_C_INCLUDES := \
+ $(LOCAL_PATH)/common/include/vhal_v2_0
+
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+ $(LOCAL_PATH)/common/include
LOCAL_SHARED_LIBRARIES := \
libbinder \
@@ -36,7 +42,7 @@
libhwbinder \
liblog \
libutils \
- $(module_prefix) \
+ $(vhal_v2_0) \
include $(BUILD_STATIC_LIBRARY)
@@ -44,11 +50,11 @@
# Vehicle HAL Protobuf library
###############################################################################
include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(call all-proto-files-under, impl/proto)
+LOCAL_SRC_FILES := $(call all-proto-files-under, impl/vhal_v2_0/proto)
LOCAL_PROTOC_OPTIMIZE_TYPE := nano
-LOCAL_MODULE := $(module_prefix)-libproto-native
+LOCAL_MODULE := $(vhal_v2_0)-libproto-native
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE_TAGS := optional
@@ -57,7 +63,7 @@
generated_sources_dir := $(call local-generated-sources-dir)
LOCAL_EXPORT_C_INCLUDE_DIRS := \
- $(generated_sources_dir)/proto/$(LOCAL_PATH)/impl/proto
+ $(generated_sources_dir)/proto/$(LOCAL_PATH)/impl/vhal_v2_0/proto
include $(BUILD_STATIC_LIBRARY)
@@ -67,9 +73,18 @@
###############################################################################
include $(CLEAR_VARS)
-LOCAL_MODULE:= $(module_prefix)-default-impl-lib
+LOCAL_MODULE:= $(vhal_v2_0)-default-impl-lib
LOCAL_SRC_FILES:= \
- impl/DefaultVehicleHal.cpp \
+ impl/vhal_v2_0/DefaultVehicleHal.cpp \
+
+LOCAL_C_INCLUDES := \
+ $(LOCAL_PATH)/impl/vhal_v2_0
+
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+ $(LOCAL_PATH)/impl
+
+LOCAL_WHOLE_STATIC_LIBRARIES := \
+ $(vhal_v2_0)-manager-lib \
LOCAL_SHARED_LIBRARIES := \
libbinder \
@@ -79,10 +94,10 @@
liblog \
libprotobuf-cpp-lite \
libutils \
- $(module_prefix) \
+ $(vhal_v2_0) \
LOCAL_STATIC_LIBRARIES := \
- $(module_prefix)-libproto-native
+ $(vhal_v2_0)-libproto-native \
include $(BUILD_STATIC_LIBRARY)
@@ -92,9 +107,10 @@
###############################################################################
include $(CLEAR_VARS)
-LOCAL_MODULE:= $(module_prefix)-manager-unit-tests
+LOCAL_MODULE:= $(vhal_v2_0)-manager-unit-tests
-LOCAL_WHOLE_STATIC_LIBRARIES := $(module_prefix)-manager-lib
+LOCAL_WHOLE_STATIC_LIBRARIES := \
+ $(vhal_v2_0)-manager-lib \
LOCAL_SRC_FILES:= \
tests/AccessControlConfigParser_test.cpp \
@@ -111,7 +127,7 @@
libhwbinder \
liblog \
libutils \
- $(module_prefix) \
+ $(vhal_v2_0) \
LOCAL_CFLAGS += -Wall -Wextra
LOCAL_MODULE_TAGS := tests
@@ -123,18 +139,14 @@
# Vehicle HAL service
###############################################################################
include $(CLEAR_VARS)
-LOCAL_MODULE := $(module_prefix)-service
-LOCAL_INIT_RC := $(module_prefix)-service.rc
+LOCAL_MODULE := $(vhal_v2_0)-service
+LOCAL_INIT_RC := $(vhal_v2_0)-service.rc
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_SRC_FILES := \
VehicleService.cpp
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- $(module_prefix)-manager-lib \
- $(module_prefix)-default-impl-lib \
-
LOCAL_SHARED_LIBRARIES := \
libbinder \
libhidlbase \
@@ -143,9 +155,11 @@
liblog \
libprotobuf-cpp-lite \
libutils \
- $(module_prefix) \
+ $(vhal_v2_0) \
LOCAL_STATIC_LIBRARIES := \
- $(module_prefix)-libproto-native
+ $(vhal_v2_0)-manager-lib \
+ $(vhal_v2_0)-default-impl-lib \
+ $(vhal_v2_0)-libproto-native \
include $(BUILD_EXECUTABLE)