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 15 ifeq ($(INTEL_HWC_MOOREFIELD_HDMI),true) 16 17 LOCAL_PATH := $(call my-dir) 18 19 # HAL module implemenation, not prelinked and stored in 20 # hw/<OVERLAY_HARDWARE_MODULE_ID>.<ro.product.board>.so 21 include $(CLEAR_VARS) 22 23 # HwcModule.cpp uses GNU old-style field designator extension. 24 LOCAL_CLANG_CFLAGS += -Wno-gnu-designator 25 26 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw 27 LOCAL_MODULE_TAGS := optional 28 LOCAL_MODULE := hwcomposer.$(TARGET_BOARD_PLATFORM) 29 LOCAL_CFLAGS := -Werror 30 31 LOCAL_SHARED_LIBRARIES := liblog libcutils libdrm \ 32 libwsbm libutils libhardware \ 33 libva libva-tpi libva-android libsync 34 35 LOCAL_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 56 LOCAL_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 72 LOCAL_SRC_FILES += \ 73 ips/tangier/TngGrallocBuffer.cpp \ 74 ips/tangier/TngGrallocBufferMapper.cpp \ 75 ips/tangier/TngDisplayQuery.cpp \ 76 ips/tangier/TngDisplayContext.cpp 77 78 LOCAL_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 85 LOCAL_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 91 LOCAL_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 99 ifeq ($(TARGET_SUPPORT_HDMI_PRIMARY),true) 100 LOCAL_CFLAGS += -DINTEL_SUPPORT_HDMI_PRIMARY 101 endif 102 103 LOCAL_COPY_HEADERS := \ 104 include/pvr/hal/hal_public.h \ 105 include/pvr/hal/img_gralloc_public.h 106 LOCAL_COPY_HEADERS_TO := pvr/hal 107 108 include $(BUILD_SHARED_LIBRARY) 109 110 endif 111