blob: 9ba85a6dbe26ad4bf478f5fa43bb2ef394ae44bc [file] [log] [blame]
Dan Willemsen3106c1c2016-10-03 23:56:51 -07001// 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
15cc_library_shared {
16 name: "libgui",
17
18 clang: true,
19 cppflags: [
20 "-Weverything",
21 "-Werror",
22
23 // The static constructors and destructors in this library have not been noted to
24 // introduce significant overheads
25 "-Wno-exit-time-destructors",
26 "-Wno-global-constructors",
27
28 // We only care about compiling as C++14
29 "-Wno-c++98-compat-pedantic",
30
31 // We don't need to enumerate every case in a switch as long as a default case
32 // is present
33 "-Wno-switch-enum",
34
35 // Allow calling variadic macros without a __VA_ARGS__ list
36 "-Wno-gnu-zero-variadic-macro-arguments",
37
38 // Don't warn about struct padding
39 "-Wno-padded",
40
41 // android/sensors.h uses nested anonymous unions and anonymous structs
42 "-Wno-nested-anon-types",
43 "-Wno-gnu-anonymous-struct",
44
45 "-DDEBUG_ONLY_CODE=0",
46 ],
47
48 product_variables: {
49 brillo: {
50 cflags: ["-DHAVE_NO_SURFACE_FLINGER"],
51 },
52 debuggable: {
53 cppflags: [
54 "-UDEBUG_ONLY_CODE",
55 "-DDEBUG_ONLY_CODE=1",
56 ],
57 },
58 },
59
60 srcs: [
61 "IGraphicBufferConsumer.cpp",
62 "IConsumerListener.cpp",
63 "BitTube.cpp",
64 "BufferItem.cpp",
65 "BufferItemConsumer.cpp",
66 "BufferQueue.cpp",
67 "BufferQueueConsumer.cpp",
68 "BufferQueueCore.cpp",
69 "BufferQueueProducer.cpp",
70 "BufferSlot.cpp",
71 "ConsumerBase.cpp",
72 "CpuConsumer.cpp",
73 "DisplayEventReceiver.cpp",
74 "GLConsumer.cpp",
75 "GraphicBufferAlloc.cpp",
76 "GuiConfig.cpp",
77 "IDisplayEventConnection.cpp",
78 "IGraphicBufferAlloc.cpp",
79 "IGraphicBufferProducer.cpp",
80 "IProducerListener.cpp",
81 "ISensorEventConnection.cpp",
82 "ISensorServer.cpp",
83 "ISurfaceComposer.cpp",
84 "ISurfaceComposerClient.cpp",
85 "LayerState.cpp",
86 "OccupancyTracker.cpp",
87 "Sensor.cpp",
88 "SensorEventQueue.cpp",
89 "SensorManager.cpp",
90 "StreamSplitter.cpp",
91 "Surface.cpp",
92 "SurfaceControl.cpp",
93 "SurfaceComposerClient.cpp",
94 "SyncFeatures.cpp",
95 ],
96
97 shared_libs: [
98 "libbinder",
99 "libcutils",
100 "libEGL",
101 "libGLESv2",
Dan Willemsen3106c1c2016-10-03 23:56:51 -0700102 "libui",
103 "libutils",
104 "liblog",
105 ],
106
Michael Schwartzf0b3db92016-10-18 10:22:23 -0700107 export_shared_lib_headers: ["libbinder", "libui"],
Dan Willemsen3106c1c2016-10-03 23:56:51 -0700108}
109
110subdirs = ["tests"]