| // Copyright 2010 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| cc_library_headers { |
| name: "libgui_headers", |
| vendor_available: true, |
| export_include_dirs: ["include"], |
| } |
| |
| cc_library_shared { |
| name: "libgui", |
| vendor_available: false, |
| vndk: { |
| enabled: true, |
| }, |
| double_loadable: true, |
| |
| clang: true, |
| cflags: [ |
| "-Wall", |
| "-Werror", |
| ], |
| cppflags: [ |
| "-Weverything", |
| |
| // The static constructors and destructors in this library have not been noted to |
| // introduce significant overheads |
| "-Wno-exit-time-destructors", |
| "-Wno-global-constructors", |
| |
| // We only care about compiling as C++14 |
| "-Wno-c++98-compat-pedantic", |
| |
| // We don't need to enumerate every case in a switch as long as a default case |
| // is present |
| "-Wno-switch-enum", |
| |
| // Allow calling variadic macros without a __VA_ARGS__ list |
| "-Wno-gnu-zero-variadic-macro-arguments", |
| |
| // Don't warn about struct padding |
| "-Wno-padded", |
| |
| // We are aware of the risks inherent in comparing floats for equality |
| "-Wno-float-equal", |
| |
| // Pure abstract classes trigger this warning |
| "-Wno-weak-vtables", |
| |
| // Allow four-character integer literals |
| "-Wno-four-char-constants", |
| |
| // Allow documentation warnings |
| "-Wno-documentation", |
| |
| // Allow implicit instantiation for templated class function |
| "-Wno-undefined-func-template", |
| |
| // Allow explicitly marking struct as packed even when unnecessary |
| "-Wno-packed", |
| |
| "-DDEBUG_ONLY_CODE=0", |
| ], |
| |
| product_variables: { |
| eng: { |
| cppflags: [ |
| "-UDEBUG_ONLY_CODE", |
| "-DDEBUG_ONLY_CODE=1", |
| ], |
| }, |
| }, |
| |
| srcs: [ |
| "BitTube.cpp", |
| "BufferHubConsumer.cpp", |
| "BufferHubProducer.cpp", |
| "BufferItem.cpp", |
| "BufferItemConsumer.cpp", |
| "BufferQueue.cpp", |
| "BufferQueueConsumer.cpp", |
| "BufferQueueCore.cpp", |
| "BufferQueueProducer.cpp", |
| "BufferSlot.cpp", |
| "ConsumerBase.cpp", |
| "CpuConsumer.cpp", |
| "DisplayEventReceiver.cpp", |
| "FrameTimestamps.cpp", |
| "GLConsumer.cpp", |
| "GuiConfig.cpp", |
| "HdrMetadata.cpp", |
| "IDisplayEventConnection.cpp", |
| "IConsumerListener.cpp", |
| "IGraphicBufferConsumer.cpp", |
| "IGraphicBufferProducer.cpp", |
| "IProducerListener.cpp", |
| "ISurfaceComposer.cpp", |
| "ISurfaceComposerClient.cpp", |
| "LayerDebugInfo.cpp", |
| "LayerState.cpp", |
| "OccupancyTracker.cpp", |
| "StreamSplitter.cpp", |
| "Surface.cpp", |
| "SurfaceControl.cpp", |
| "SurfaceComposerClient.cpp", |
| "SyncFeatures.cpp", |
| "view/Surface.cpp", |
| "bufferqueue/1.0/B2HProducerListener.cpp", |
| "bufferqueue/1.0/H2BGraphicBufferProducer.cpp" |
| ], |
| |
| shared_libs: [ |
| "android.hardware.graphics.common@1.1", |
| "libsync", |
| "libbinder", |
| "libbufferhub", |
| "libbufferhubqueue", // TODO(b/70046255): Remove this once BufferHub is integrated into libgui. |
| "libpdx_default_transport", |
| "libcutils", |
| "libEGL", |
| "libGLESv2", |
| "libui", |
| "libutils", |
| "libnativewindow", |
| "liblog", |
| "libhidlbase", |
| "libhidltransport", |
| "android.hidl.token@1.0-utils", |
| "android.hardware.graphics.bufferqueue@1.0", |
| "android.hardware.configstore@1.0", |
| "android.hardware.configstore-utils", |
| ], |
| |
| // bufferhub is not used when building libgui for vendors |
| target: { |
| vendor: { |
| cflags: ["-DNO_BUFFERHUB"], |
| exclude_srcs: [ |
| "BufferHubConsumer.cpp", |
| "BufferHubProducer.cpp", |
| ], |
| exclude_shared_libs: [ |
| "libbufferhub", |
| "libbufferhubqueue", |
| "libpdx_default_transport", |
| ], |
| }, |
| }, |
| |
| header_libs: [ |
| "libdvr_headers", |
| "libnativebase_headers", |
| "libgui_headers", |
| "libpdx_headers", |
| ], |
| |
| export_shared_lib_headers: [ |
| "libbinder", |
| "libEGL", |
| "libnativewindow", |
| "libui", |
| "android.hidl.token@1.0-utils", |
| "android.hardware.graphics.bufferqueue@1.0", |
| "android.hardware.graphics.common@1.1", |
| ], |
| |
| export_header_lib_headers: [ |
| "libgui_headers", |
| ], |
| |
| export_include_dirs: [ |
| "include", |
| ], |
| } |
| |
| subdirs = ["tests"] |