• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
14cc_library_headers {
15    name: "libgui_headers",
16    vendor_available: true,
17    export_include_dirs: ["include"],
18}
19
20cc_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@1.0-utils",
124        "android.hardware.graphics.bufferqueue@1.0",
125        "android.hardware.configstore@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@1.0-utils",
140        "android.hardware.graphics.bufferqueue@1.0",
141    ],
142
143    export_header_lib_headers: [
144        "libgui_headers",
145    ],
146
147    export_include_dirs: [
148        "include",
149    ],
150}
151
152subdirs = ["tests"]
153