Home | History | Annotate | Download | only in gui
      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 cc_library_headers {
     15     name: "libgui_headers",
     16     vendor_available: true,
     17     export_include_dirs: ["include"],
     18 }
     19 
     20 cc_library_shared {
     21     name: "libgui",
     22     vendor_available: true,
     23     vndk: {
     24         enabled: true,
     25     },
     26 
     27     clang: true,
     28     cppflags: [
     29         "-Weverything",
     30         "-Werror",
     31 
     32         // The static constructors and destructors in this library have not been noted to
     33         // introduce significant overheads
     34         "-Wno-exit-time-destructors",
     35         "-Wno-global-constructors",
     36 
     37         // We only care about compiling as C++14
     38         "-Wno-c++98-compat-pedantic",
     39 
     40         // We don't need to enumerate every case in a switch as long as a default case
     41         // is present
     42         "-Wno-switch-enum",
     43 
     44         // Allow calling variadic macros without a __VA_ARGS__ list
     45         "-Wno-gnu-zero-variadic-macro-arguments",
     46 
     47         // Don't warn about struct padding
     48         "-Wno-padded",
     49 
     50         // We are aware of the risks inherent in comparing floats for equality
     51         "-Wno-float-equal",
     52 
     53         // Pure abstract classes trigger this warning
     54         "-Wno-weak-vtables",
     55 
     56         // Allow four-character integer literals
     57 	"-Wno-four-char-constants",
     58 
     59         // Allow documentation warnings
     60         "-Wno-documentation",
     61 
     62         "-DDEBUG_ONLY_CODE=0",
     63     ],
     64 
     65     product_variables: {
     66         brillo: {
     67             cflags: ["-DHAVE_NO_SURFACE_FLINGER"],
     68         },
     69         eng: {
     70             cppflags: [
     71                 "-UDEBUG_ONLY_CODE",
     72                 "-DDEBUG_ONLY_CODE=1",
     73             ],
     74         },
     75     },
     76 
     77     srcs: [
     78         "BitTube.cpp",
     79         "BufferItem.cpp",
     80         "BufferItemConsumer.cpp",
     81         "BufferQueue.cpp",
     82         "BufferQueueConsumer.cpp",
     83         "BufferQueueCore.cpp",
     84         "BufferQueueProducer.cpp",
     85         "BufferSlot.cpp",
     86         "ConsumerBase.cpp",
     87         "CpuConsumer.cpp",
     88         "DisplayEventReceiver.cpp",
     89         "FrameTimestamps.cpp",
     90         "GLConsumer.cpp",
     91         "GuiConfig.cpp",
     92         "IDisplayEventConnection.cpp",
     93         "IConsumerListener.cpp",
     94         "IGraphicBufferConsumer.cpp",
     95         "IGraphicBufferProducer.cpp",
     96         "IProducerListener.cpp",
     97         "ISurfaceComposer.cpp",
     98         "ISurfaceComposerClient.cpp",
     99         "LayerState.cpp",
    100         "OccupancyTracker.cpp",
    101         "StreamSplitter.cpp",
    102         "Surface.cpp",
    103         "SurfaceControl.cpp",
    104         "SurfaceComposerClient.cpp",
    105         "SyncFeatures.cpp",
    106         "view/Surface.cpp",
    107         "bufferqueue/1.0/B2HProducerListener.cpp",
    108         "bufferqueue/1.0/H2BGraphicBufferProducer.cpp"
    109     ],
    110 
    111     shared_libs: [
    112         "libsync",
    113         "libbinder",
    114         "libcutils",
    115         "libEGL",
    116         "libGLESv2",
    117         "libui",
    118         "libutils",
    119         "libnativewindow",
    120         "liblog",
    121         "libhidlbase",
    122         "libhidltransport",
    123         "android.hidl.token (a] 1.0-utils",
    124         "android.hardware.graphics.bufferqueue (a] 1.0",
    125         "android.hardware.configstore (a] 1.0",
    126         "android.hardware.configstore-utils",
    127     ],
    128 
    129     header_libs: [
    130         "libnativebase_headers",
    131         "libgui_headers",
    132     ],
    133 
    134     export_shared_lib_headers: [
    135         "libbinder",
    136         "libEGL",
    137         "libnativewindow",
    138         "libui",
    139         "android.hidl.token (a] 1.0-utils",
    140         "android.hardware.graphics.bufferqueue (a] 1.0",
    141     ],
    142 
    143     export_header_lib_headers: [
    144         "libgui_headers",
    145     ],
    146 
    147     export_include_dirs: [
    148         "include",
    149     ],
    150 }
    151 
    152 subdirs = ["tests"]
    153