blob: 635020e718dd1de0b3112ab82e457cacc782dd59 [file] [log] [blame]
Dan Stozad723bd72014-11-18 10:24:03 -08001# 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
Dan Stozaf10c46e2014-11-11 10:32:31 -080015LOCAL_PATH := $(call my-dir)
Mathias Agopian589ce852010-07-13 22:21:56 -070016include $(CLEAR_VARS)
17
Dan Stozaf10c46e2014-11-11 10:32:31 -080018LOCAL_CLANG := true
Dan Stozad723bd72014-11-18 10:24:03 -080019LOCAL_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
Dan Stozaf10c46e2014-11-11 10:32:31 -080038
Pablo Ceballos9e314332016-01-12 13:49:19 -080039LOCAL_CPPFLAGS += -DDEBUG_ONLY_CODE=$(if $(filter userdebug eng,$(TARGET_BUILD_VARIANT)),1,0)
40
Dan Stozaf10c46e2014-11-11 10:32:31 -080041LOCAL_SRC_FILES := \
Mathias Agopiana4e19522013-07-31 20:09:53 -070042 IGraphicBufferConsumer.cpp \
43 IConsumerListener.cpp \
Mathias Agopian5cae0d02011-10-20 18:42:02 -070044 BitTube.cpp \
Dan Stoza289ade12014-02-28 11:17:17 -080045 BufferItem.cpp \
Jamie Gennis392edd82012-11-29 23:26:29 -080046 BufferItemConsumer.cpp \
Daniel Lam6b091c52012-01-22 15:26:27 -080047 BufferQueue.cpp \
Dan Stoza289ade12014-02-28 11:17:17 -080048 BufferQueueConsumer.cpp \
49 BufferQueueCore.cpp \
50 BufferQueueProducer.cpp \
51 BufferSlot.cpp \
Jamie Gennis1a4d8832012-08-02 20:11:05 -070052 ConsumerBase.cpp \
Jamie Gennis392edd82012-11-29 23:26:29 -080053 CpuConsumer.cpp \
Mathias Agopiand0566bc2011-11-17 17:49:17 -080054 DisplayEventReceiver.cpp \
Andy McFadden2adaf042012-12-18 09:49:45 -080055 GLConsumer.cpp \
Jamie Gennis392edd82012-11-29 23:26:29 -080056 GraphicBufferAlloc.cpp \
57 GuiConfig.cpp \
Mathias Agopiand0566bc2011-11-17 17:49:17 -080058 IDisplayEventConnection.cpp \
Jamie Gennis392edd82012-11-29 23:26:29 -080059 IGraphicBufferAlloc.cpp \
Andy McFadden2adaf042012-12-18 09:49:45 -080060 IGraphicBufferProducer.cpp \
Dan Stozaf0eaf252014-03-21 13:05:51 -070061 IProducerListener.cpp \
Mathias Agopian589ce852010-07-13 22:21:56 -070062 ISensorEventConnection.cpp \
63 ISensorServer.cpp \
Jamie Gennis392edd82012-11-29 23:26:29 -080064 ISurfaceComposer.cpp \
65 ISurfaceComposerClient.cpp \
Jamie Gennis392edd82012-11-29 23:26:29 -080066 LayerState.cpp \
Mathias Agopian589ce852010-07-13 22:21:56 -070067 Sensor.cpp \
Mathias Agopian589ce852010-07-13 22:21:56 -070068 SensorEventQueue.cpp \
Jamie Gennis8ba32fa2010-12-20 11:27:26 -080069 SensorManager.cpp \
Dan Stoza99b18b42014-03-28 15:34:33 -070070 StreamSplitter.cpp \
Mathias Agopiand87f1622011-03-25 18:42:40 -070071 Surface.cpp \
Mathias Agopiane3c697f2013-02-14 17:11:02 -080072 SurfaceControl.cpp \
Mathias Agopiand87f1622011-03-25 18:42:40 -070073 SurfaceComposerClient.cpp \
Mathias Agopianca088332013-03-28 17:44:13 -070074 SyncFeatures.cpp \
Mathias Agopian589ce852010-07-13 22:21:56 -070075
76LOCAL_SHARED_LIBRARIES := \
Mathias Agopian589ce852010-07-13 22:21:56 -070077 libbinder \
Jesse Hallef194142012-06-14 14:45:17 -070078 libcutils \
Jamie Gennis8ba32fa2010-12-20 11:27:26 -080079 libEGL \
80 libGLESv2 \
Jesse Hallef194142012-06-14 14:45:17 -070081 libsync \
82 libui \
83 libutils \
Ying Wang8a0cb4e2013-04-09 21:55:39 -070084 liblog
Jamie Gennis8ba32fa2010-12-20 11:27:26 -080085
Mathias Agopian589ce852010-07-13 22:21:56 -070086
Dan Stozaf10c46e2014-11-11 10:32:31 -080087LOCAL_MODULE := libgui
Mathias Agopian589ce852010-07-13 22:21:56 -070088
Mathias Agopianca088332013-03-28 17:44:13 -070089ifeq ($(TARGET_BOARD_PLATFORM), tegra)
90 LOCAL_CFLAGS += -DDONT_USE_FENCE_SYNC
Daniel Lambff957f2012-01-22 15:40:56 -080091endif
Mathias Agopianca088332013-03-28 17:44:13 -070092ifeq ($(TARGET_BOARD_PLATFORM), tegra3)
93 LOCAL_CFLAGS += -DDONT_USE_FENCE_SYNC
Jeff Boody42223f62012-09-10 10:24:07 -060094endif
95
Mathias Agopian589ce852010-07-13 22:21:56 -070096include $(BUILD_SHARED_LIBRARY)
Jamie Gennis7fcb0772011-04-26 17:26:37 -070097
98ifeq (,$(ONE_SHOT_MAKEFILE))
99include $(call first-makefiles-under,$(LOCAL_PATH))
100endif