1# Copyright 2010 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 15LOCAL_PATH := $(call my-dir) 16include $(CLEAR_VARS) 17 18LOCAL_CLANG := true 19LOCAL_CPPFLAGS := -std=c++1y -Weverything -Werror 20 21# The static constructors and destructors in this library have not been noted to 22# introduce significant overheads 23LOCAL_CPPFLAGS += -Wno-exit-time-destructors 24LOCAL_CPPFLAGS += -Wno-global-constructors 25 26# We only care about compiling as C++14 27LOCAL_CPPFLAGS += -Wno-c++98-compat-pedantic 28 29# We don't need to enumerate every case in a switch as long as a default case 30# is present 31LOCAL_CPPFLAGS += -Wno-switch-enum 32 33# Allow calling variadic macros without a __VA_ARGS__ list 34LOCAL_CPPFLAGS += -Wno-gnu-zero-variadic-macro-arguments 35 36# Don't warn about struct padding 37LOCAL_CPPFLAGS += -Wno-padded 38 39LOCAL_SRC_FILES := \ 40 IGraphicBufferConsumer.cpp \ 41 IConsumerListener.cpp \ 42 BitTube.cpp \ 43 BufferItem.cpp \ 44 BufferItemConsumer.cpp \ 45 BufferQueue.cpp \ 46 BufferQueueConsumer.cpp \ 47 BufferQueueCore.cpp \ 48 BufferQueueProducer.cpp \ 49 BufferSlot.cpp \ 50 ConsumerBase.cpp \ 51 CpuConsumer.cpp \ 52 DisplayEventReceiver.cpp \ 53 GLConsumer.cpp \ 54 GraphicBufferAlloc.cpp \ 55 GuiConfig.cpp \ 56 IDisplayEventConnection.cpp \ 57 IGraphicBufferAlloc.cpp \ 58 IGraphicBufferProducer.cpp \ 59 IProducerListener.cpp \ 60 ISensorEventConnection.cpp \ 61 ISensorServer.cpp \ 62 ISurfaceComposer.cpp \ 63 ISurfaceComposerClient.cpp \ 64 LayerState.cpp \ 65 Sensor.cpp \ 66 SensorEventQueue.cpp \ 67 SensorManager.cpp \ 68 StreamSplitter.cpp \ 69 Surface.cpp \ 70 SurfaceControl.cpp \ 71 SurfaceComposerClient.cpp \ 72 SyncFeatures.cpp \ 73 74LOCAL_SHARED_LIBRARIES := \ 75 libbinder \ 76 libcutils \ 77 libEGL \ 78 libGLESv2 \ 79 libsync \ 80 libui \ 81 libutils \ 82 liblog 83 84 85LOCAL_MODULE := libgui 86 87ifeq ($(TARGET_BOARD_PLATFORM), tegra) 88 LOCAL_CFLAGS += -DDONT_USE_FENCE_SYNC 89endif 90ifeq ($(TARGET_BOARD_PLATFORM), tegra3) 91 LOCAL_CFLAGS += -DDONT_USE_FENCE_SYNC 92endif 93 94include $(BUILD_SHARED_LIBRARY) 95 96ifeq (,$(ONE_SHOT_MAKEFILE)) 97include $(call first-makefiles-under,$(LOCAL_PATH)) 98endif 99