blob: f435d98756d64fcf2da841e615468d71b91d8a9c [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.
Jiyong Park172bd722017-06-21 12:14:18 +090014cc_library_headers {
15 name: "libgui_headers",
16 vendor_available: true,
17 export_include_dirs: ["include"],
18}
Dan Willemsen3106c1c2016-10-03 23:56:51 -070019
20cc_library_shared {
21 name: "libgui",
Jiyong Park99c514e2017-11-17 19:09:31 +090022 vendor_available: false,
Justin Yun71d6c8852017-07-24 15:19:45 +090023 vndk: {
24 enabled: true,
25 },
Jiyong Parka75d3d62018-04-09 12:16:30 +090026 double_loadable: true,
Dan Willemsen3106c1c2016-10-03 23:56:51 -070027
28 clang: true,
Chih-Hung Hsiehd66be0a2017-10-05 13:51:32 -070029 cflags: [
30 "-Wall",
31 "-Werror",
32 ],
Dan Willemsen3106c1c2016-10-03 23:56:51 -070033 cppflags: [
Pawin Vongmasae672cd02019-02-14 16:01:29 -080034 "-Wextra",
Dan Willemsen3106c1c2016-10-03 23:56:51 -070035 "-DDEBUG_ONLY_CODE=0",
36 ],
37
38 product_variables: {
Fabien Sanglard98bfd4f2017-06-22 11:13:49 -070039 eng: {
Dan Willemsen3106c1c2016-10-03 23:56:51 -070040 cppflags: [
41 "-UDEBUG_ONLY_CODE",
42 "-DDEBUG_ONLY_CODE=1",
43 ],
44 },
45 },
46
47 srcs: [
Dan Willemsen3106c1c2016-10-03 23:56:51 -070048 "BitTube.cpp",
Jiwen 'Steve' Caia2a27b22018-02-07 17:29:56 -080049 "BufferHubConsumer.cpp",
Jiwen 'Steve' Cai0f950842018-01-16 17:05:54 -080050 "BufferHubProducer.cpp",
Dan Willemsen3106c1c2016-10-03 23:56:51 -070051 "BufferItem.cpp",
52 "BufferItemConsumer.cpp",
53 "BufferQueue.cpp",
54 "BufferQueueConsumer.cpp",
55 "BufferQueueCore.cpp",
56 "BufferQueueProducer.cpp",
Jayant Chowdharyad9fe272019-03-07 22:36:06 -080057 "BufferQueueThreadState.cpp",
Dan Willemsen3106c1c2016-10-03 23:56:51 -070058 "BufferSlot.cpp",
59 "ConsumerBase.cpp",
60 "CpuConsumer.cpp",
61 "DisplayEventReceiver.cpp",
Brian Andersond6927fb2016-07-23 23:37:30 -070062 "FrameTimestamps.cpp",
Dan Willemsen3106c1c2016-10-03 23:56:51 -070063 "GLConsumer.cpp",
Chong Zhang60fa4fd2019-04-19 10:00:27 -070064 "GLConsumerUtils.cpp",
Dan Willemsen3106c1c2016-10-03 23:56:51 -070065 "GuiConfig.cpp",
Courtney Goeltzenleuchter9bad0d72017-12-19 12:34:34 -070066 "HdrMetadata.cpp",
Dan Willemsen3106c1c2016-10-03 23:56:51 -070067 "IDisplayEventConnection.cpp",
Mathias Agopian801ea092017-03-06 15:05:04 -080068 "IConsumerListener.cpp",
Mathias Agopian801ea092017-03-06 15:05:04 -080069 "IGraphicBufferConsumer.cpp",
Dan Willemsen3106c1c2016-10-03 23:56:51 -070070 "IGraphicBufferProducer.cpp",
71 "IProducerListener.cpp",
Dan Stoza84ab9372018-12-17 15:27:57 -080072 "IRegionSamplingListener.cpp",
Dan Willemsen3106c1c2016-10-03 23:56:51 -070073 "ISurfaceComposer.cpp",
74 "ISurfaceComposerClient.cpp",
Marissa Wall7a9b6ff2018-08-21 17:26:20 -070075 "ITransactionCompletedListener.cpp",
Kalle Raitaa099a242017-01-11 11:17:29 -080076 "LayerDebugInfo.cpp",
Evan Rosky1f6d6d52018-12-06 10:47:26 -080077 "LayerMetadata.cpp",
Dan Willemsen3106c1c2016-10-03 23:56:51 -070078 "LayerState.cpp",
79 "OccupancyTracker.cpp",
Dan Willemsen3106c1c2016-10-03 23:56:51 -070080 "StreamSplitter.cpp",
81 "Surface.cpp",
82 "SurfaceControl.cpp",
83 "SurfaceComposerClient.cpp",
84 "SyncFeatures.cpp",
Mathias Agopian05debe12017-02-08 17:04:18 -080085 "view/Surface.cpp",
Pawin Vongmasa6e1193a2017-03-07 13:08:40 -080086 "bufferqueue/1.0/B2HProducerListener.cpp",
Chong Zhang20288fd2019-03-21 15:15:27 -070087 "bufferqueue/1.0/Conversion.cpp",
Lloyd Pique3b745782018-08-31 17:34:40 -070088 "bufferqueue/1.0/H2BGraphicBufferProducer.cpp",
Pawin Vongmasae672cd02019-02-14 16:01:29 -080089 "bufferqueue/1.0/H2BProducerListener.cpp",
Chong Zhang20288fd2019-03-21 15:15:27 -070090 "bufferqueue/1.0/WProducerListener.cpp",
Pawin Vongmasae672cd02019-02-14 16:01:29 -080091 "bufferqueue/2.0/B2HGraphicBufferProducer.cpp",
92 "bufferqueue/2.0/B2HProducerListener.cpp",
93 "bufferqueue/2.0/H2BGraphicBufferProducer.cpp",
94 "bufferqueue/2.0/H2BProducerListener.cpp",
95 "bufferqueue/2.0/types.cpp",
Dan Willemsen3106c1c2016-10-03 23:56:51 -070096 ],
97
98 shared_libs: [
Fan Xu021776e2018-12-05 13:34:48 -080099 "android.frameworks.bufferhub@1.0",
Pawin Vongmasae672cd02019-02-14 16:01:29 -0800100 "android.hardware.graphics.bufferqueue@1.0",
101 "android.hardware.graphics.bufferqueue@2.0",
Peiyong Lina52f0292018-03-14 17:26:31 -0700102 "android.hardware.graphics.common@1.1",
Pawin Vongmasae672cd02019-02-14 16:01:29 -0800103 "android.hardware.graphics.common@1.2",
104 "android.hidl.token@1.0-utils",
Yiwei Zhang5434a782018-12-05 18:06:32 -0800105 "libbase",
Dan Willemsen3106c1c2016-10-03 23:56:51 -0700106 "libbinder",
Jiwen 'Steve' Cai57ae3ee2018-05-03 17:51:52 -0700107 "libbufferhub",
Lloyd Pique3b745782018-08-31 17:34:40 -0700108 "libbufferhubqueue", // TODO(b/70046255): Remove this once BufferHub is integrated into libgui.
Dan Willemsen3106c1c2016-10-03 23:56:51 -0700109 "libcutils",
110 "libEGL",
111 "libGLESv2",
Pawin Vongmasa6e1193a2017-03-07 13:08:40 -0800112 "libhidlbase",
Courtney Goeltzenleuchtera0c93e12017-03-17 16:16:48 -0600113 "libhidltransport",
Pawin Vongmasae672cd02019-02-14 16:01:29 -0800114 "libhwbinder",
115 "libinput",
116 "liblog",
117 "libnativewindow",
118 "libpdx_default_transport",
119 "libsync",
120 "libui",
121 "libutils",
Jayant Chowdharyad9fe272019-03-07 22:36:06 -0800122 "libvndksupport",
Dan Willemsen3106c1c2016-10-03 23:56:51 -0700123 ],
124
Jiyong Parka75d3d62018-04-09 12:16:30 +0900125 // bufferhub is not used when building libgui for vendors
126 target: {
127 vendor: {
Jayant Chowdharyad9fe272019-03-07 22:36:06 -0800128 cflags: [
129 "-DNO_BUFFERHUB",
130 "-DNO_INPUT",
131 ],
Jiyong Parka75d3d62018-04-09 12:16:30 +0900132 exclude_srcs: [
133 "BufferHubConsumer.cpp",
134 "BufferHubProducer.cpp",
135 ],
136 exclude_shared_libs: [
Fan Xu021776e2018-12-05 13:34:48 -0800137 "android.frameworks.bufferhub@1.0",
Jiwen 'Steve' Cai57ae3ee2018-05-03 17:51:52 -0700138 "libbufferhub",
Jiyong Parka75d3d62018-04-09 12:16:30 +0900139 "libbufferhubqueue",
Jayant Chowdharyad9fe272019-03-07 22:36:06 -0800140 "libinput",
Pawin Vongmasae672cd02019-02-14 16:01:29 -0800141 "libpdx_default_transport",
Jiyong Parka75d3d62018-04-09 12:16:30 +0900142 ],
143 },
144 },
145
Mathias Agopian6a3c05b2017-04-27 20:06:55 -0700146 header_libs: [
Jiwen 'Steve' Cai0f950842018-01-16 17:05:54 -0800147 "libdvr_headers",
Jiyong Park172bd722017-06-21 12:14:18 +0900148 "libgui_headers",
Pawin Vongmasae672cd02019-02-14 16:01:29 -0800149 "libnativebase_headers",
Jiyong Parka75d3d62018-04-09 12:16:30 +0900150 "libpdx_headers",
Mathias Agopian6a3c05b2017-04-27 20:06:55 -0700151 ],
152
Pawin Vongmasa6e1193a2017-03-07 13:08:40 -0800153 export_shared_lib_headers: [
154 "libbinder",
Steven Moreland33f64842017-06-22 17:50:49 -0700155 "libEGL",
Mathias Agopian6a3c05b2017-04-27 20:06:55 -0700156 "libnativewindow",
Steven Moreland33f64842017-06-22 17:50:49 -0700157 "libui",
Pawin Vongmasa6e1193a2017-03-07 13:08:40 -0800158 "android.hardware.graphics.bufferqueue@1.0",
Pawin Vongmasae672cd02019-02-14 16:01:29 -0800159 "android.hardware.graphics.bufferqueue@2.0",
Peiyong Lina52f0292018-03-14 17:26:31 -0700160 "android.hardware.graphics.common@1.1",
Pawin Vongmasae672cd02019-02-14 16:01:29 -0800161 "android.hardware.graphics.common@1.2",
162 "android.hidl.token@1.0-utils",
Pawin Vongmasa6e1193a2017-03-07 13:08:40 -0800163 ],
Dan Stoza1e438d22017-03-31 16:18:10 -0700164
Jiyong Park172bd722017-06-21 12:14:18 +0900165 export_header_lib_headers: [
166 "libgui_headers",
167 ],
168
Dan Stoza1e438d22017-03-31 16:18:10 -0700169 export_include_dirs: [
170 "include",
171 ],
Dan Willemsen3106c1c2016-10-03 23:56:51 -0700172}
173
Chong Zhang60fa4fd2019-04-19 10:00:27 -0700174// Used by media codec services exclusively as a static lib for
175// core bufferqueuesupport only.
176cc_library_static {
177 name: "libgui_bufferqueue_static",
178 vendor_available: true,
179
180 clang: true,
181 cflags: [
182 "-Wall",
183 "-Werror",
184 "-DNO_BUFFERHUB",
185 ],
186
187 cppflags: [
188 "-Wextra",
189 "-DDEBUG_ONLY_CODE=0",
190 ],
191
192 product_variables: {
193 eng: {
194 cppflags: [
195 "-UDEBUG_ONLY_CODE",
196 "-DDEBUG_ONLY_CODE=1",
197 ],
198 },
199 },
200
201 srcs: [
202 "BufferItem.cpp",
203 "BufferQueue.cpp",
204 "BufferQueueConsumer.cpp",
205 "BufferQueueCore.cpp",
206 "BufferQueueProducer.cpp",
207 "BufferQueueThreadState.cpp",
208 "BufferSlot.cpp",
209 "FrameTimestamps.cpp",
210 "GLConsumerUtils.cpp",
211 "HdrMetadata.cpp",
212 "IConsumerListener.cpp",
213 "IGraphicBufferConsumer.cpp",
214 "IGraphicBufferProducer.cpp",
215 "IProducerListener.cpp",
216 "OccupancyTracker.cpp",
217 "bufferqueue/1.0/B2HProducerListener.cpp",
218 "bufferqueue/1.0/Conversion.cpp",
219 "bufferqueue/1.0/H2BGraphicBufferProducer.cpp",
220 "bufferqueue/1.0/H2BProducerListener.cpp",
221 "bufferqueue/1.0/WProducerListener.cpp",
222 "bufferqueue/2.0/B2HGraphicBufferProducer.cpp",
223 "bufferqueue/2.0/B2HProducerListener.cpp",
224 "bufferqueue/2.0/H2BGraphicBufferProducer.cpp",
225 "bufferqueue/2.0/H2BProducerListener.cpp",
226 "bufferqueue/2.0/types.cpp",
227 ],
228
229 shared_libs: [
230 "android.hardware.graphics.bufferqueue@1.0",
231 "android.hardware.graphics.bufferqueue@2.0",
232 "android.hardware.graphics.common@1.1",
233 "android.hardware.graphics.common@1.2",
234 "android.hidl.token@1.0-utils",
235 "libbase",
236 "libbinder",
237 "libcutils",
238 "libEGL",
239 "libGLESv2",
240 "libhidlbase",
241 "libhidltransport",
242 "libhwbinder",
243 "liblog",
244 "libnativewindow",
245 "libsync",
246 "libui",
247 "libutils",
248 "libvndksupport",
249 ],
250
251 header_libs: [
252 "libgui_headers",
253 "libnativebase_headers",
254 ],
255
256 export_shared_lib_headers: [
257 "libbinder",
258 "libEGL",
259 "libnativewindow",
260 "libui",
261 "android.hardware.graphics.bufferqueue@1.0",
262 "android.hardware.graphics.bufferqueue@2.0",
263 "android.hardware.graphics.common@1.1",
264 "android.hardware.graphics.common@1.2",
265 "android.hidl.token@1.0-utils",
266 ],
267
268 export_header_lib_headers: [
269 "libgui_headers",
270 ],
271
272 export_include_dirs: [
273 "include",
274 ],
275}
276
Dan Willemsen3106c1c2016-10-03 23:56:51 -0700277subdirs = ["tests"]