From fc87140da9c978101b148b6717e88cecd727b592 Mon Sep 17 00:00:00 2001 From: Tri Vo Date: Mon, 10 Jul 2017 17:13:23 -0700 Subject: [PATCH] convert vehicle to .bp Test: cd hardware/interfaces/automotive && mma -j64 Change-Id: I851c9b2ff956b0f6d9d7a6076d495aad9038a66a --- automotive/Android.bp | 3 + automotive/vehicle/2.0/default/Android.bp | 111 ++++++++++ automotive/vehicle/2.0/default/Android.mk | 194 ------------------ .../default/impl/vhal_v2_0/proto/Android.bp | 26 +++ automotive/vehicle/2.1/default/Android.bp | 84 ++++++++ automotive/vehicle/2.1/default/Android.mk | 121 ----------- 6 files changed, 224 insertions(+), 315 deletions(-) create mode 100644 automotive/vehicle/2.0/default/Android.bp delete mode 100644 automotive/vehicle/2.0/default/Android.mk create mode 100644 automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/Android.bp create mode 100644 automotive/vehicle/2.1/default/Android.bp delete mode 100644 automotive/vehicle/2.1/default/Android.mk diff --git a/automotive/Android.bp b/automotive/Android.bp index aec8865f89..d9a6355024 100644 --- a/automotive/Android.bp +++ b/automotive/Android.bp @@ -4,5 +4,8 @@ subdirs = [ "evs/1.0/default", "evs/1.0/vts/functional", "vehicle/2.0", + "vehicle/2.0/default", + "vehicle/2.0/default/impl/vhal_v2_0/proto", "vehicle/2.1", + "vehicle/2.1/default", ] diff --git a/automotive/vehicle/2.0/default/Android.bp b/automotive/vehicle/2.0/default/Android.bp new file mode 100644 index 0000000000..6d3e902ffa --- /dev/null +++ b/automotive/vehicle/2.0/default/Android.bp @@ -0,0 +1,111 @@ +// Copyright (C) 2017 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +cc_defaults { + name: "vhal_v2_0_defaults", + shared_libs: [ + "libhidlbase", + "libhidltransport", + "liblog", + "libutils", + "android.hardware.automotive.vehicle@2.0", + ], + cflags: [ + "-Wall", + "-Wextra", + "-Werror", + ], +} + +cc_library_headers { + name: "vhal_v2_0_common_headers", + export_include_dirs: ["common/include/vhal_v2_0"], +} + +// Vehicle reference implementation lib +cc_library_static { + name: "android.hardware.automotive.vehicle@2.0-manager-lib", + defaults: ["vhal_v2_0_defaults"], + srcs: [ + "common/src/SubscriptionManager.cpp", + "common/src/VehicleHalManager.cpp", + "common/src/VehicleObjectPool.cpp", + "common/src/VehiclePropertyStore.cpp", + "common/src/VehicleUtils.cpp", + ], + local_include_dirs: ["common/include/vhal_v2_0"], + export_include_dirs: ["common/include"], +} + +cc_library_shared { + name: "android.hardware.automotive.vehicle@2.0-manager-lib-shared", + static_libs: ["android.hardware.automotive.vehicle@2.0-manager-lib"], + export_static_lib_headers: ["android.hardware.automotive.vehicle@2.0-manager-lib"], +} + +// Vehicle default VehicleHAL implementation +cc_library_static { + name: "android.hardware.automotive.vehicle@2.0-default-impl-lib", + defaults: ["vhal_v2_0_defaults"], + srcs: [ + "impl/vhal_v2_0/EmulatedVehicleHal.cpp", + "impl/vhal_v2_0/VehicleEmulator.cpp", + "impl/vhal_v2_0/PipeComm.cpp", + "impl/vhal_v2_0/SocketComm.cpp", + ], + local_include_dirs: ["common/include/vhal_v2_0"], + export_include_dirs: ["impl"], + whole_static_libs: ["android.hardware.automotive.vehicle@2.0-manager-lib"], + shared_libs: [ + "libbase", + "libprotobuf-cpp-lite", + ], + static_libs: [ + "libqemu_pipe", + "android.hardware.automotive.vehicle@2.0-libproto-native", + ], +} + +cc_test { + name: "android.hardware.automotive.vehicle@2.0-manager-unit-tests", + defaults: ["vhal_v2_0_defaults"], + whole_static_libs: ["android.hardware.automotive.vehicle@2.0-manager-lib"], + srcs: [ + "tests/RecurrentTimer_test.cpp", + "tests/SubscriptionManager_test.cpp", + "tests/VehicleHalManager_test.cpp", + "tests/VehicleObjectPool_test.cpp", + "tests/VehiclePropConfigIndex_test.cpp", + ], + header_libs: ["libbase_headers"], +} + +cc_binary { + name: "android.hardware.automotive.vehicle@2.0-service", + defaults: ["vhal_v2_0_defaults"], + init_rc: ["android.hardware.automotive.vehicle@2.0-service.rc"], + proprietary: true, + relative_install_path: "hw", + srcs: ["VehicleService.cpp"], + shared_libs: [ + "libbase", + "libprotobuf-cpp-lite", + ], + static_libs: [ + "android.hardware.automotive.vehicle@2.0-manager-lib", + "android.hardware.automotive.vehicle@2.0-default-impl-lib", + "android.hardware.automotive.vehicle@2.0-libproto-native", + "libqemu_pipe", + ], +} diff --git a/automotive/vehicle/2.0/default/Android.mk b/automotive/vehicle/2.0/default/Android.mk deleted file mode 100644 index 72e1364fc6..0000000000 --- a/automotive/vehicle/2.0/default/Android.mk +++ /dev/null @@ -1,194 +0,0 @@ -# Copyright (C) 2016 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -LOCAL_PATH := $(call my-dir) - -vhal_v2_0 = android.hardware.automotive.vehicle@2.0 - -############################################################################### -# Vehicle reference implementation lib -############################################################################### -include $(CLEAR_VARS) -LOCAL_MODULE := $(vhal_v2_0)-manager-lib -LOCAL_SRC_FILES := \ - common/src/SubscriptionManager.cpp \ - common/src/VehicleHalManager.cpp \ - common/src/VehicleObjectPool.cpp \ - common/src/VehiclePropertyStore.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 := \ - libhidlbase \ - libhidltransport \ - liblog \ - libutils \ - $(vhal_v2_0) \ - -include $(BUILD_STATIC_LIBRARY) - - -include $(CLEAR_VARS) -LOCAL_MODULE := $(vhal_v2_0)-manager-lib-shared -LOCAL_SRC_FILES := \ - common/src/SubscriptionManager.cpp \ - common/src/VehicleHalManager.cpp \ - common/src/VehicleObjectPool.cpp \ - common/src/VehiclePropertyStore.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 := \ - libhidlbase \ - libhidltransport \ - liblog \ - libutils \ - $(vhal_v2_0) \ - -include $(BUILD_SHARED_LIBRARY) - -############################################################################### -# Vehicle HAL Protobuf library -############################################################################### -include $(CLEAR_VARS) -LOCAL_SRC_FILES := $(call all-proto-files-under, impl/vhal_v2_0/proto) - -LOCAL_PROTOC_OPTIMIZE_TYPE := nano - -LOCAL_MODULE := $(vhal_v2_0)-libproto-native -LOCAL_MODULE_CLASS := STATIC_LIBRARIES - -LOCAL_MODULE_TAGS := optional - -LOCAL_STRIP_MODULE := keep_symbols - -generated_sources_dir := $(call local-generated-sources-dir) -LOCAL_EXPORT_C_INCLUDE_DIRS := \ - $(generated_sources_dir)/proto/$(LOCAL_PATH)/impl/vhal_v2_0/proto - -include $(BUILD_STATIC_LIBRARY) - - -############################################################################### -# Vehicle default VehicleHAL implementation -############################################################################### -include $(CLEAR_VARS) - -LOCAL_MODULE:= $(vhal_v2_0)-default-impl-lib -LOCAL_SRC_FILES:= \ - impl/vhal_v2_0/EmulatedVehicleHal.cpp \ - impl/vhal_v2_0/VehicleEmulator.cpp \ - impl/vhal_v2_0/PipeComm.cpp \ - impl/vhal_v2_0/SocketComm.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 := \ - libbase \ - libhidlbase \ - libhidltransport \ - liblog \ - libprotobuf-cpp-lite \ - libutils \ - $(vhal_v2_0) \ - -LOCAL_STATIC_LIBRARIES := \ - libqemu_pipe \ - $(vhal_v2_0)-libproto-native \ - -LOCAL_CFLAGS += -Wall -Wextra -Werror - -include $(BUILD_STATIC_LIBRARY) - - -############################################################################### -# Vehicle reference implementation unit tests -############################################################################### -include $(CLEAR_VARS) - -LOCAL_MODULE:= $(vhal_v2_0)-manager-unit-tests - -LOCAL_WHOLE_STATIC_LIBRARIES := \ - $(vhal_v2_0)-manager-lib \ - -LOCAL_SRC_FILES:= \ - tests/RecurrentTimer_test.cpp \ - tests/SubscriptionManager_test.cpp \ - tests/VehicleHalManager_test.cpp \ - tests/VehicleObjectPool_test.cpp \ - tests/VehiclePropConfigIndex_test.cpp \ - -LOCAL_HEADER_LIBRARIES := \ - libbase_headers - -LOCAL_SHARED_LIBRARIES := \ - libhidlbase \ - libhidltransport \ - liblog \ - libutils \ - $(vhal_v2_0) \ - -LOCAL_CFLAGS += -Wall -Wextra -Werror -LOCAL_MODULE_TAGS := tests - -include $(BUILD_NATIVE_TEST) - - -############################################################################### -# Vehicle HAL service -############################################################################### -include $(CLEAR_VARS) -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_SHARED_LIBRARIES := \ - libbase \ - libhidlbase \ - libhidltransport \ - liblog \ - libprotobuf-cpp-lite \ - libutils \ - $(vhal_v2_0) \ - -LOCAL_STATIC_LIBRARIES := \ - $(vhal_v2_0)-manager-lib \ - $(vhal_v2_0)-default-impl-lib \ - $(vhal_v2_0)-libproto-native \ - libqemu_pipe \ - -LOCAL_CFLAGS += -Wall -Wextra -Werror - -include $(BUILD_EXECUTABLE) diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/Android.bp b/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/Android.bp new file mode 100644 index 0000000000..7d68f9e4cd --- /dev/null +++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/Android.bp @@ -0,0 +1,26 @@ +// Copyright (C) 2017 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Vehicle HAL Protobuf library +cc_library_static { + name: "android.hardware.automotive.vehicle@2.0-libproto-native", + proto: { + export_proto_headers: true, + type: "lite", + }, + strip: { + keep_symbols: true, + }, + srcs: ["VehicleHalProto.proto"] +} diff --git a/automotive/vehicle/2.1/default/Android.bp b/automotive/vehicle/2.1/default/Android.bp new file mode 100644 index 0000000000..0697767927 --- /dev/null +++ b/automotive/vehicle/2.1/default/Android.bp @@ -0,0 +1,84 @@ +// Copyright (C) 2017 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +cc_defaults { + name: "vhal_v2_1_defaults", + defaults: ["vhal_v2_0_defaults"], + shared_libs: [ + "libhwbinder", + "android.hardware.automotive.vehicle@2.1", + ], +} + +// Vehicle reference implementation lib +cc_library_static { + name: "android.hardware.automotive.vehicle@2.1-manager-lib", + defaults: ["vhal_v2_1_defaults"], + srcs: [ + "common/src/Obd2SensorStore.cpp", + ], + local_include_dirs: ["common/include/vhal_v2_1"], + header_libs: ["vhal_v2_0_common_headers"], + export_include_dirs: ["common/include"], +} + +// Vehicle default VehicleHAL implementation +cc_library_static { + name: "android.hardware.automotive.vehicle@2.1-default-impl-lib", + defaults: ["vhal_v2_1_defaults"], + srcs: [ + "impl/vhal_v2_1/EmulatedVehicleHal.cpp", + ], + local_include_dirs: [ + "impl/vhal_v2_1", + "common/include", + ], + export_include_dirs: [ + "impl", + "common/include", + ], + static_libs: [ + "android.hardware.automotive.vehicle@2.0-default-impl-lib", + "android.hardware.automotive.vehicle@2.0-libproto-native", + "android.hardware.automotive.vehicle@2.0-manager-lib", + "android.hardware.automotive.vehicle@2.1-manager-lib", + "libqemu_pipe", + ], + shared_libs: [ + "libbase", + "libprotobuf-cpp-lite", + ], +} + +cc_binary { + name: "android.hardware.automotive.vehicle@2.1-service", + defaults: ["vhal_v2_1_defaults"], + init_rc: ["android.hardware.automotive.vehicle@2.1-service.rc"], + proprietary: true, + relative_install_path: "hw", + srcs: ["service.cpp"], + whole_static_libs: ["android.hardware.automotive.vehicle@2.0-libproto-native"], + static_libs: [ + "android.hardware.automotive.vehicle@2.0-default-impl-lib", + "android.hardware.automotive.vehicle@2.0-manager-lib", + "android.hardware.automotive.vehicle@2.1-default-impl-lib", + "android.hardware.automotive.vehicle@2.1-manager-lib", + "libqemu_pipe", + ], + shared_libs: [ + "libbase", + "libhwbinder", + "libprotobuf-cpp-lite", + ], +} diff --git a/automotive/vehicle/2.1/default/Android.mk b/automotive/vehicle/2.1/default/Android.mk deleted file mode 100644 index f19263c7d1..0000000000 --- a/automotive/vehicle/2.1/default/Android.mk +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright (C) 2016 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -LOCAL_PATH := $(call my-dir) - -vhal_v2_0 = android.hardware.automotive.vehicle@2.0 -vhal_v2_1 = android.hardware.automotive.vehicle@2.1 - -############################################################################### -# Vehicle reference implementation lib -############################################################################### -include $(CLEAR_VARS) -LOCAL_MODULE := $(vhal_v2_1)-manager-lib -LOCAL_SRC_FILES := \ - common/src/Obd2SensorStore.cpp - -LOCAL_C_INCLUDES := \ - $(LOCAL_PATH)/common/include/vhal_v2_1 \ - $(LOCAL_PATH)/../../2.0/default/common/include/vhal_v2_0 \ - -LOCAL_EXPORT_C_INCLUDE_DIRS := \ - $(LOCAL_PATH)/common/include - -LOCAL_SHARED_LIBRARIES := \ - libhidlbase \ - libhidltransport \ - libhwbinder \ - liblog \ - libutils \ - $(vhal_v2_1) \ - -include $(BUILD_STATIC_LIBRARY) - -############################################################################### -# Vehicle default VehicleHAL implementation -############################################################################### -include $(CLEAR_VARS) - -LOCAL_MODULE:= $(vhal_v2_1)-default-impl-lib -LOCAL_SRC_FILES:= \ - impl/vhal_v2_1/EmulatedVehicleHal.cpp \ - -LOCAL_C_INCLUDES := \ - $(LOCAL_PATH)/impl/vhal_v2_1 \ - $(LOCAL_PATH)/common/include - -LOCAL_EXPORT_C_INCLUDE_DIRS := \ - $(LOCAL_PATH)/impl \ - $(LOCAL_PATH)/common/include - - -# LOCAL_WHOLE_STATIC_LIBRARIES := \ - -LOCAL_STATIC_LIBRARIES := \ - $(vhal_v2_0)-default-impl-lib \ - $(vhal_v2_0)-manager-lib \ - libqemu_pipe \ - $(vhal_v2_1)-manager-lib \ - $(vhal_v2_0)-libproto-native - -LOCAL_SHARED_LIBRARIES := \ - libbase \ - libhidlbase \ - libhidltransport \ - libhwbinder \ - liblog \ - libutils \ - libprotobuf-cpp-lite \ - $(vhal_v2_0) \ - $(vhal_v2_1) \ - -LOCAL_CFLAGS += -Wall -Wextra -Werror - -include $(BUILD_STATIC_LIBRARY) - -############################################################################### -# Vehicle HAL service -############################################################################### -include $(CLEAR_VARS) -LOCAL_MODULE := $(vhal_v2_1)-service -LOCAL_INIT_RC := $(vhal_v2_1)-service.rc -LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_PROPRIETARY_MODULE := true -LOCAL_SRC_FILES := \ - service.cpp - -LOCAL_WHOLE_STATIC_LIBRARIES := \ - $(vhal_v2_0)-libproto-native \ - -LOCAL_STATIC_LIBRARIES := \ - $(vhal_v2_0)-manager-lib \ - $(vhal_v2_0)-default-impl-lib \ - $(vhal_v2_1)-default-impl-lib \ - libqemu_pipe \ - $(vhal_v2_1)-manager-lib \ - -LOCAL_SHARED_LIBRARIES := \ - libbase \ - libhidlbase \ - libhidltransport \ - libhwbinder \ - liblog \ - libutils \ - libprotobuf-cpp-lite \ - $(vhal_v2_0) \ - $(vhal_v2_1) \ - -LOCAL_CFLAGS += -Wall -Wextra -Werror - -include $(BUILD_EXECUTABLE)