1// 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 // We are aware of the risks inherent in comparing floats for equality 42 "-Wno-float-equal", 43 44 // Pure abstract classes trigger this warning 45 "-Wno-weak-vtables", 46 47 // Allow four-character integer literals 48 "-Wno-four-char-constants", 49 50 // Allow documentation warnings 51 "-Wno-documentation", 52 53 "-DDEBUG_ONLY_CODE=0", 54 ], 55 56 product_variables: { 57 brillo: { 58 cflags: ["-DHAVE_NO_SURFACE_FLINGER"], 59 }, 60 eng: { 61 cppflags: [ 62 "-UDEBUG_ONLY_CODE", 63 "-DDEBUG_ONLY_CODE=1", 64 ], 65 }, 66 }, 67 68 srcs: [ 69 "BitTube.cpp", 70 "BufferItem.cpp", 71 "BufferItemConsumer.cpp", 72 "BufferQueue.cpp", 73 "BufferQueueConsumer.cpp", 74 "BufferQueueCore.cpp", 75 "BufferQueueProducer.cpp", 76 "BufferSlot.cpp", 77 "ConsumerBase.cpp", 78 "CpuConsumer.cpp", 79 "DisplayEventReceiver.cpp", 80 "FrameTimestamps.cpp", 81 "GLConsumer.cpp", 82 "GuiConfig.cpp", 83 "IDisplayEventConnection.cpp", 84 "IConsumerListener.cpp", 85 "IGraphicBufferConsumer.cpp", 86 "IGraphicBufferProducer.cpp", 87 "IProducerListener.cpp", 88 "ISurfaceComposer.cpp", 89 "ISurfaceComposerClient.cpp", 90 "LayerState.cpp", 91 "OccupancyTracker.cpp", 92 "StreamSplitter.cpp", 93 "Surface.cpp", 94 "SurfaceControl.cpp", 95 "SurfaceComposerClient.cpp", 96 "SyncFeatures.cpp", 97 "view/Surface.cpp", 98 "bufferqueue/1.0/B2HProducerListener.cpp", 99 "bufferqueue/1.0/H2BGraphicBufferProducer.cpp" 100 ], 101 102 shared_libs: [ 103 "libsync", 104 "libbinder", 105 "libcutils", 106 "libEGL", 107 "libGLESv2", 108 "libui", 109 "libutils", 110 "libnativewindow", 111 "liblog", 112 "libhidlbase", 113 "libhidltransport", 114 "android.hidl.base@1.0", 115 "android.hidl.token@1.0-utils", 116 "android.hardware.graphics.bufferqueue@1.0", 117 "android.hardware.configstore@1.0", 118 "android.hardware.configstore-utils", 119 ], 120 121 export_shared_lib_headers: [ 122 "libbinder", 123 "libui", 124 "android.hidl.token@1.0-utils", 125 "android.hardware.graphics.bufferqueue@1.0", 126 ], 127 128 export_include_dirs: [ 129 "include", 130 ], 131} 132 133subdirs = ["tests"] 134