• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 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: "libui",
17    vendor_available: true,
18    vndk: {
19        enabled: true,
20    },
21
22    clang: true,
23    cflags: [
24        "-Wall",
25        "-Werror",
26    ],
27    cppflags: [
28        "-Weverything",
29
30        // The static constructors and destructors in this library have not been noted to
31        // introduce significant overheads
32        "-Wno-exit-time-destructors",
33        "-Wno-global-constructors",
34
35        // We only care about compiling as C++14
36        "-Wno-c++98-compat-pedantic",
37
38        // We are aware of the risks inherent in comparing floats for equality
39        "-Wno-float-equal",
40
41        // We use four-character constants for the GraphicBuffer header, and don't care
42        // that they're non-portable as long as they're consistent within one execution
43        "-Wno-four-char-constants",
44
45        // Don't warn about struct padding
46        "-Wno-padded",
47    ],
48
49    sanitize: {
50        integer_overflow: true,
51    },
52
53    srcs: [
54        "ColorSpace.cpp",
55        "DebugUtils.cpp",
56        "Fence.cpp",
57        "FenceTime.cpp",
58        "FrameStats.cpp",
59        "Gralloc2.cpp",
60        "GraphicBuffer.cpp",
61        "GraphicBufferAllocator.cpp",
62        "GraphicBufferMapper.cpp",
63        "HdrCapabilities.cpp",
64        "PixelFormat.cpp",
65        "Rect.cpp",
66        "Region.cpp",
67        "UiConfig.cpp",
68    ],
69
70    include_dirs: [
71        "frameworks/native/include",
72    ],
73
74    shared_libs: [
75        "android.hardware.graphics.allocator@2.0",
76        "android.hardware.graphics.common@1.1",
77        "android.hardware.graphics.mapper@2.0",
78        "android.hardware.graphics.mapper@2.1",
79        "android.hardware.configstore@1.0",
80        "android.hardware.configstore-utils",
81        "libbase",
82        "libcutils",
83        "libhardware",
84        "libhidlbase",
85        "libhidltransport",
86        "libhwbinder",
87        "libsync",
88        "libutils",
89        "libutilscallstack",
90        "liblog",
91    ],
92
93    export_shared_lib_headers: [
94        "android.hardware.graphics.common@1.1",
95    ],
96
97    static_libs: [
98        "libarect",
99        "libgrallocusage",
100        "libmath",
101    ],
102
103    header_libs: [
104        "libbase_headers",
105        "libnativebase_headers",
106        "libhardware_headers",
107        "libui_headers",
108        "libpdx_headers",
109    ],
110
111    export_static_lib_headers: [
112        "libarect",
113        "libmath",
114    ],
115
116    export_header_lib_headers: [
117        "libbase_headers",
118        "libnativebase_headers",
119        "libhardware_headers",
120        "libui_headers",
121    ],
122}
123
124cc_library_headers {
125    name: "libui_headers",
126    export_include_dirs: ["include"],
127    vendor_available: true,
128    target: {
129        vendor: {
130            override_export_include_dirs: ["include_vndk"],
131        },
132    },
133}
134
135subdirs = [
136    "tests",
137    "tools",
138]
139