1# Copyright (C) 2008 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
15ifeq ($(INTEL_HWC_MOOREFIELD_HDMI),true)
16
17LOCAL_PATH := $(call my-dir)
18
19# HAL module implemenation, not prelinked and stored in
20# hw/<OVERLAY_HARDWARE_MODULE_ID>.<ro.product.board>.so
21include $(CLEAR_VARS)
22
23# HwcModule.cpp uses GNU old-style field designator extension.
24LOCAL_CLANG_CFLAGS += -Wno-gnu-designator
25
26LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
27LOCAL_MODULE_TAGS := optional
28LOCAL_MODULE := hwcomposer.$(TARGET_BOARD_PLATFORM)
29LOCAL_CFLAGS := -Werror
30
31LOCAL_SHARED_LIBRARIES := liblog libcutils libdrm \
32                          libwsbm libutils libhardware \
33                          libva libva-tpi libva-android libsync
34
35LOCAL_SRC_FILES := \
36    common/base/Drm.cpp \
37    common/base/HwcLayer.cpp \
38    common/base/HwcLayerList.cpp \
39    common/base/Hwcomposer.cpp \
40    common/base/HwcModule.cpp \
41    common/base/DisplayAnalyzer.cpp \
42    common/buffers/BufferCache.cpp \
43    common/buffers/GraphicBuffer.cpp \
44    common/buffers/BufferManager.cpp \
45    common/devices/DummyDevice.cpp \
46    common/devices/PhysicalDevice.cpp \
47    common/devices/PrimaryDevice.cpp \
48    common/devices/ExternalDevice.cpp \
49    common/observers/UeventObserver.cpp \
50    common/observers/VsyncEventObserver.cpp \
51    common/observers/SoftVsyncObserver.cpp \
52    common/planes/DisplayPlane.cpp \
53    common/planes/DisplayPlaneManager.cpp \
54    common/utils/Dump.cpp
55
56LOCAL_SRC_FILES += \
57    ips/common/BlankControl.cpp \
58    ips/common/HdcpControl.cpp \
59    ips/common/DrmControl.cpp \
60    ips/common/VsyncControl.cpp \
61    ips/common/OverlayPlaneBase.cpp \
62    ips/common/SpritePlaneBase.cpp \
63    ips/common/PixelFormat.cpp \
64    ips/common/GrallocBufferBase.cpp \
65    ips/common/GrallocBufferMapperBase.cpp \
66    ips/common/TTMBufferMapper.cpp \
67    ips/common/DrmConfig.cpp \
68    ips/common/Wsbm.cpp \
69    ips/common/WsbmWrapper.c \
70    ips/common/RotationBufferProvider.cpp
71
72LOCAL_SRC_FILES += \
73    ips/tangier/TngGrallocBuffer.cpp \
74    ips/tangier/TngGrallocBufferMapper.cpp \
75    ips/tangier/TngDisplayQuery.cpp \
76    ips/tangier/TngDisplayContext.cpp
77
78LOCAL_SRC_FILES += \
79    ips/anniedale/AnnPlaneManager.cpp \
80    ips/anniedale/AnnOverlayPlane.cpp \
81    ips/anniedale/AnnRGBPlane.cpp \
82    ips/anniedale/AnnCursorPlane.cpp \
83    ips/anniedale/PlaneCapabilities.cpp
84
85LOCAL_SRC_FILES += \
86    platforms/merrifield_plus/PlatfBufferManager.cpp \
87    platforms/merrifield_plus/PlatfPrimaryDevice.cpp \
88    platforms/merrifield_plus/PlatfExternalDevice.cpp \
89    platforms/merrifield_plus/PlatfHwcomposer.cpp
90
91LOCAL_C_INCLUDES := \
92    $(LOCAL_PATH)/include \
93    $(LOCAL_PATH)/include/pvr/hal \
94    $(TARGET_OUT_HEADERS)/libdrm \
95    $(TARGET_OUT_HEADERS)/libwsbm/wsbm \
96    $(TARGET_OUT_HEADERS)/libttm \
97    frameworks/native/include/media/openmax
98
99ifeq ($(TARGET_SUPPORT_HDMI_PRIMARY),true)
100   LOCAL_CFLAGS += -DINTEL_SUPPORT_HDMI_PRIMARY
101endif
102
103LOCAL_COPY_HEADERS := \
104 include/pvr/hal/hal_public.h \
105 include/pvr/hal/img_gralloc_public.h
106LOCAL_COPY_HEADERS_TO := pvr/hal
107
108include $(BUILD_SHARED_LIBRARY)
109
110endif
111