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 15 LOCAL_PATH := $(call my-dir) 16 include $(CLEAR_VARS) 17 18 LOCAL_CLANG := true 19 LOCAL_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 23 LOCAL_CPPFLAGS += -Wno-exit-time-destructors 24 LOCAL_CPPFLAGS += -Wno-global-constructors 25 26 # We only care about compiling as C++14 27 LOCAL_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 31 LOCAL_CPPFLAGS += -Wno-switch-enum 32 33 # Allow calling variadic macros without a __VA_ARGS__ list 34 LOCAL_CPPFLAGS += -Wno-gnu-zero-variadic-macro-arguments 35 36 # Don't warn about struct padding 37 LOCAL_CPPFLAGS += -Wno-padded 38 39 LOCAL_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 74 LOCAL_SHARED_LIBRARIES := \ 75 libbinder \ 76 libcutils \ 77 libEGL \ 78 libGLESv2 \ 79 libsync \ 80 libui \ 81 libutils \ 82 liblog 83 84 85 LOCAL_MODULE := libgui 86 87 ifeq ($(TARGET_BOARD_PLATFORM), tegra) 88 LOCAL_CFLAGS += -DDONT_USE_FENCE_SYNC 89 endif 90 ifeq ($(TARGET_BOARD_PLATFORM), tegra3) 91 LOCAL_CFLAGS += -DDONT_USE_FENCE_SYNC 92 endif 93 94 include $(BUILD_SHARED_LIBRARY) 95 96 ifeq (,$(ONE_SHOT_MAKEFILE)) 97 include $(call first-makefiles-under,$(LOCAL_PATH)) 98 endif 99