// 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_shared { name: "libgui", clang: true, cppflags: [ "-Weverything", "-Werror", // 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", // android/sensors.h uses nested anonymous unions and anonymous structs "-Wno-nested-anon-types", "-Wno-gnu-anonymous-struct", "-DDEBUG_ONLY_CODE=0", ], product_variables: { brillo: { cflags: ["-DHAVE_NO_SURFACE_FLINGER"], }, debuggable: { cppflags: [ "-UDEBUG_ONLY_CODE", "-DDEBUG_ONLY_CODE=1", ], }, }, srcs: [ "IGraphicBufferConsumer.cpp", "IConsumerListener.cpp", "BitTube.cpp", "BufferItem.cpp", "BufferItemConsumer.cpp", "BufferQueue.cpp", "BufferQueueConsumer.cpp", "BufferQueueCore.cpp", "BufferQueueProducer.cpp", "BufferSlot.cpp", "ConsumerBase.cpp", "CpuConsumer.cpp", "DisplayEventReceiver.cpp", "GLConsumer.cpp", "GraphicBufferAlloc.cpp", "GuiConfig.cpp", "IDisplayEventConnection.cpp", "IGraphicBufferAlloc.cpp", "IGraphicBufferProducer.cpp", "IProducerListener.cpp", "ISensorEventConnection.cpp", "ISensorServer.cpp", "ISurfaceComposer.cpp", "ISurfaceComposerClient.cpp", "LayerState.cpp", "OccupancyTracker.cpp", "Sensor.cpp", "SensorEventQueue.cpp", "SensorManager.cpp", "StreamSplitter.cpp", "Surface.cpp", "SurfaceControl.cpp", "SurfaceComposerClient.cpp", "SyncFeatures.cpp", ], shared_libs: [ "libbinder", "libcutils", "libEGL", "libGLESv2", "libsync", "libui", "libutils", "liblog", ], export_shared_lib_headers: ["libbinder"], } subdirs = ["tests"]