1d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# Copyright 2010 The Android Open Source Project
2d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza#
3d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# Licensed under the Apache License, Version 2.0 (the "License");
4d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# you may not use this file except in compliance with the License.
5d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# You may obtain a copy of the License at
6d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza#
7d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza#      http://www.apache.org/licenses/LICENSE-2.0
8d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza#
9d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# Unless required by applicable law or agreed to in writing, software
10d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# distributed under the License is distributed on an "AS IS" BASIS,
11d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# See the License for the specific language governing permissions and
13d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# limitations under the License.
14d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza
15f10c46ef855b6410b20ebd8b1351d4d78d8eca8eDan StozaLOCAL_PATH := $(call my-dir)
16589ce85ee4174829cfedce91b6b2509d2a4002ebMathias Agopianinclude $(CLEAR_VARS)
17589ce85ee4174829cfedce91b6b2509d2a4002ebMathias Agopian
18f10c46ef855b6410b20ebd8b1351d4d78d8eca8eDan StozaLOCAL_CLANG := true
19d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan StozaLOCAL_CPPFLAGS := -std=c++1y -Weverything -Werror
20d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza
21d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# The static constructors and destructors in this library have not been noted to
22d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# introduce significant overheads
23d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan StozaLOCAL_CPPFLAGS += -Wno-exit-time-destructors
24d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan StozaLOCAL_CPPFLAGS += -Wno-global-constructors
25d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza
26d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# We only care about compiling as C++14
27d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan StozaLOCAL_CPPFLAGS += -Wno-c++98-compat-pedantic
28d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza
29d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# We don't need to enumerate every case in a switch as long as a default case
30d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# is present
31d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan StozaLOCAL_CPPFLAGS += -Wno-switch-enum
32d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza
33d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# Allow calling variadic macros without a __VA_ARGS__ list
34d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan StozaLOCAL_CPPFLAGS += -Wno-gnu-zero-variadic-macro-arguments
35d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza
36d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan Stoza# Don't warn about struct padding
37d723bd7669b4fc88dc282d8bf8ba5ecb2849d22fDan StozaLOCAL_CPPFLAGS += -Wno-padded
38f10c46ef855b6410b20ebd8b1351d4d78d8eca8eDan Stoza
39f10c46ef855b6410b20ebd8b1351d4d78d8eca8eDan StozaLOCAL_SRC_FILES := \
40a4e19521ac4563f2ff6517bcfd63d9b8d33a6d0bMathias Agopian	IGraphicBufferConsumer.cpp \
41a4e19521ac4563f2ff6517bcfd63d9b8d33a6d0bMathias Agopian	IConsumerListener.cpp \
425cae0d0699a169e468fff3e21165f35db12f2cdeMathias Agopian	BitTube.cpp \
43289ade165e60b5f71734d30e535f16eb1f4313adDan Stoza	BufferItem.cpp \
44392edd88cb63d71a21a86a02cf9c56ac97637128Jamie Gennis	BufferItemConsumer.cpp \
456b091c53000c843211c218ce40287a7edca9bc63Daniel Lam	BufferQueue.cpp \
46289ade165e60b5f71734d30e535f16eb1f4313adDan Stoza	BufferQueueConsumer.cpp \
47289ade165e60b5f71734d30e535f16eb1f4313adDan Stoza	BufferQueueCore.cpp \
48289ade165e60b5f71734d30e535f16eb1f4313adDan Stoza	BufferQueueProducer.cpp \
49289ade165e60b5f71734d30e535f16eb1f4313adDan Stoza	BufferSlot.cpp \
501a4d883dcc1725892bfb5c28dec255a233186524Jamie Gennis	ConsumerBase.cpp \
51392edd88cb63d71a21a86a02cf9c56ac97637128Jamie Gennis	CpuConsumer.cpp \
52d0566bc26fcf6ca396118701fa11900b627f2c09Mathias Agopian	DisplayEventReceiver.cpp \
532adaf04fab35cf47c824d74d901b54094e01ccd3Andy McFadden	GLConsumer.cpp \
54392edd88cb63d71a21a86a02cf9c56ac97637128Jamie Gennis	GraphicBufferAlloc.cpp \
55392edd88cb63d71a21a86a02cf9c56ac97637128Jamie Gennis	GuiConfig.cpp \
56d0566bc26fcf6ca396118701fa11900b627f2c09Mathias Agopian	IDisplayEventConnection.cpp \
57392edd88cb63d71a21a86a02cf9c56ac97637128Jamie Gennis	IGraphicBufferAlloc.cpp \
582adaf04fab35cf47c824d74d901b54094e01ccd3Andy McFadden	IGraphicBufferProducer.cpp \
59f0eaf25e9247edf4d124bedaeb863f7abdf35a3eDan Stoza	IProducerListener.cpp \
60589ce85ee4174829cfedce91b6b2509d2a4002ebMathias Agopian	ISensorEventConnection.cpp \
61589ce85ee4174829cfedce91b6b2509d2a4002ebMathias Agopian	ISensorServer.cpp \
62392edd88cb63d71a21a86a02cf9c56ac97637128Jamie Gennis	ISurfaceComposer.cpp \
63392edd88cb63d71a21a86a02cf9c56ac97637128Jamie Gennis	ISurfaceComposerClient.cpp \
64392edd88cb63d71a21a86a02cf9c56ac97637128Jamie Gennis	LayerState.cpp \
65589ce85ee4174829cfedce91b6b2509d2a4002ebMathias Agopian	Sensor.cpp \
66589ce85ee4174829cfedce91b6b2509d2a4002ebMathias Agopian	SensorEventQueue.cpp \
678ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis	SensorManager.cpp \
6899b18b447dec188bcec37b415603b9dd400fc7e1Dan Stoza	StreamSplitter.cpp \
69d87f162026454f5a3e6437ed0c9ef51651a6b939Mathias Agopian	Surface.cpp \
70e3c697fb929c856b59fa56a8e05a2a7eba187c3dMathias Agopian	SurfaceControl.cpp \
71d87f162026454f5a3e6437ed0c9ef51651a6b939Mathias Agopian	SurfaceComposerClient.cpp \
72ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian	SyncFeatures.cpp \
73589ce85ee4174829cfedce91b6b2509d2a4002ebMathias Agopian
74589ce85ee4174829cfedce91b6b2509d2a4002ebMathias AgopianLOCAL_SHARED_LIBRARIES := \
75589ce85ee4174829cfedce91b6b2509d2a4002ebMathias Agopian	libbinder \
76ef19414bd8b77a26f5751f3845be79025a8263feJesse Hall	libcutils \
77ef19414bd8b77a26f5751f3845be79025a8263feJesse Hall	libEGL \
78ef19414bd8b77a26f5751f3845be79025a8263feJesse Hall	libGLESv2 \
79ef19414bd8b77a26f5751f3845be79025a8263feJesse Hall	libsync \
808ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis	libui \
81ef19414bd8b77a26f5751f3845be79025a8263feJesse Hall	libutils \
828a0cb4ee0b6c351de82987efb472fa38dfaf608aYing Wang	liblog
838ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis
84589ce85ee4174829cfedce91b6b2509d2a4002ebMathias Agopian
85f10c46ef855b6410b20ebd8b1351d4d78d8eca8eDan StozaLOCAL_MODULE := libgui
86589ce85ee4174829cfedce91b6b2509d2a4002ebMathias Agopian
87ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopianifeq ($(TARGET_BOARD_PLATFORM), tegra)
88ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian	LOCAL_CFLAGS += -DDONT_USE_FENCE_SYNC
89bff957f0bd0b7d4085dabaefb0852d428a807134Daniel Lamendif
90ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopianifeq ($(TARGET_BOARD_PLATFORM), tegra3)
91ca08833d5ea99130797e10ad68a651b50e99da74Mathias Agopian	LOCAL_CFLAGS += -DDONT_USE_FENCE_SYNC
9242223f6fdd582dc4e87ad94c212adaed3341f154Jeff Boodyendif
9342223f6fdd582dc4e87ad94c212adaed3341f154Jeff Boody
94589ce85ee4174829cfedce91b6b2509d2a4002ebMathias Agopianinclude $(BUILD_SHARED_LIBRARY)
957fcb077c5522c56e266947e073c8750019e5a98aJamie Gennis
967fcb077c5522c56e266947e073c8750019e5a98aJamie Gennisifeq (,$(ONE_SHOT_MAKEFILE))
977fcb077c5522c56e266947e073c8750019e5a98aJamie Gennisinclude $(call first-makefiles-under,$(LOCAL_PATH))
987fcb077c5522c56e266947e073c8750019e5a98aJamie Gennisendif
99