1#
2# Copyright (C) 2016 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH := $(call my-dir)
18
19vtslib_interfacespec_srcfiles := \
20  lib/ndk/bionic/1.0/libmV1.vts \
21  lib/ndk/bionic/1.0/libcV1.vts \
22  lib/ndk/bionic/1.0/libcutilsV1.vts \
23
24vtslib_interfacespec_includes := \
25  $(LOCAL_PATH) \
26  test/vts/drivers/hal \
27  test/vts/drivers/hal/common \
28  test/vts/drivers/hal/libdatatype \
29  test/vts/drivers/hal/libmeasurement \
30  bionic \
31  system/extras \
32  system/media/camera/include \
33  external/protobuf/src \
34  $(TARGET_OUT_HEADERS) \
35
36vtslib_interfacespec_shared_libraries := \
37  libbase \
38  libcutils \
39  liblog \
40  libdl \
41  libandroid_runtime \
42  libcamera_metadata \
43  libvts_datatype \
44  libvts_common \
45  libvts_measurement \
46  libvts_multidevice_proto \
47  libprotobuf-cpp-full \
48
49vtslib_interfacespec_static_libraries := \
50  libbluetooth-types
51
52include $(CLEAR_VARS)
53
54# libvts_interfacespecification does not include or link any HIDL HAL driver.
55# HIDL HAL drivers and profilers are defined as separated shared libraries
56# in a respective hardware/interfaces/<hal name>/<version>/Android.bp file.
57# libvts_interfacespecification is the driver for:
58#   legacy HALs,
59#   conventional HALs,
60#   shared libraries,
61#   and so on.
62
63LOCAL_MODULE := libvts_interfacespecification
64LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
65LOCAL_LICENSE_CONDITIONS := notice
66LOCAL_MODULE_TAGS := optional
67
68LOCAL_SRC_FILES := \
69  ${vtslib_interfacespec_srcfiles} \
70
71LOCAL_C_INCLUDES := \
72  ${vtslib_interfacespec_includes} \
73  system/libbase/include \
74
75LOCAL_SHARED_LIBRARIES := \
76  ${vtslib_interfacespec_shared_libraries} \
77
78LOCAL_STATIC_LIBRARIES := \
79  ${vtslib_interfacespec_static_libraries}
80
81LOCAL_CFLAGS := \
82  -Wall \
83  -Werror \
84
85# These warnings are in code generated with vtsc
86# b/31362043
87LOCAL_CFLAGS += \
88  -Wno-unused-parameter \
89  -Wno-unused-value \
90  -Wno-duplicate-decl-specifier \
91
92LOCAL_PROTOC_OPTIMIZE_TYPE := full
93
94LOCAL_MULTILIB := both
95
96include $(BUILD_SHARED_LIBRARY)
97