Home | History | Annotate | Download | only in gui
      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