xref: /aosp_15_r20/frameworks/native/services/surfaceflinger/Android.bp (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1*38e8c45fSAndroid Build Coastguard Workerpackage {
2*38e8c45fSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
3*38e8c45fSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*38e8c45fSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_native_license"
5*38e8c45fSAndroid Build Coastguard Worker    // to get the below license kinds:
6*38e8c45fSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
7*38e8c45fSAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_native_license"],
8*38e8c45fSAndroid Build Coastguard Worker    default_team: "trendy_team_android_core_graphics_stack",
9*38e8c45fSAndroid Build Coastguard Worker}
10*38e8c45fSAndroid Build Coastguard Worker
11*38e8c45fSAndroid Build Coastguard Workeraconfig_declarations {
12*38e8c45fSAndroid Build Coastguard Worker    name: "surfaceflinger_flags",
13*38e8c45fSAndroid Build Coastguard Worker    package: "com.android.graphics.surfaceflinger.flags",
14*38e8c45fSAndroid Build Coastguard Worker    container: "system",
15*38e8c45fSAndroid Build Coastguard Worker    srcs: [
16*38e8c45fSAndroid Build Coastguard Worker        "surfaceflinger_flags.aconfig",
17*38e8c45fSAndroid Build Coastguard Worker        "surfaceflinger_flags_new.aconfig",
18*38e8c45fSAndroid Build Coastguard Worker    ],
19*38e8c45fSAndroid Build Coastguard Worker}
20*38e8c45fSAndroid Build Coastguard Worker
21*38e8c45fSAndroid Build Coastguard Workercc_aconfig_library {
22*38e8c45fSAndroid Build Coastguard Worker    name: "libsurfaceflingerflags",
23*38e8c45fSAndroid Build Coastguard Worker    aconfig_declarations: "surfaceflinger_flags",
24*38e8c45fSAndroid Build Coastguard Worker}
25*38e8c45fSAndroid Build Coastguard Worker
26*38e8c45fSAndroid Build Coastguard Workercc_defaults {
27*38e8c45fSAndroid Build Coastguard Worker    name: "surfaceflinger_defaults",
28*38e8c45fSAndroid Build Coastguard Worker    cflags: [
29*38e8c45fSAndroid Build Coastguard Worker        "-Wall",
30*38e8c45fSAndroid Build Coastguard Worker        "-Werror",
31*38e8c45fSAndroid Build Coastguard Worker        "-Wextra",
32*38e8c45fSAndroid Build Coastguard Worker        "-Wformat",
33*38e8c45fSAndroid Build Coastguard Worker        "-Wthread-safety",
34*38e8c45fSAndroid Build Coastguard Worker        "-Wunused",
35*38e8c45fSAndroid Build Coastguard Worker        "-Wunreachable-code",
36*38e8c45fSAndroid Build Coastguard Worker        "-Wconversion",
37*38e8c45fSAndroid Build Coastguard Worker        "-DANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION",
38*38e8c45fSAndroid Build Coastguard Worker    ],
39*38e8c45fSAndroid Build Coastguard Worker}
40*38e8c45fSAndroid Build Coastguard Worker
41*38e8c45fSAndroid Build Coastguard Workercc_defaults {
42*38e8c45fSAndroid Build Coastguard Worker    name: "libsurfaceflinger_defaults",
43*38e8c45fSAndroid Build Coastguard Worker    defaults: [
44*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.graphics.composer3-ndk_shared",
45*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.power-ndk_shared",
46*38e8c45fSAndroid Build Coastguard Worker        "librenderengine_deps",
47*38e8c45fSAndroid Build Coastguard Worker        "libtimestats_deps",
48*38e8c45fSAndroid Build Coastguard Worker        "libsurfaceflinger_common_deps",
49*38e8c45fSAndroid Build Coastguard Worker        "surfaceflinger_defaults",
50*38e8c45fSAndroid Build Coastguard Worker        "libsurfaceflinger_proto_deps",
51*38e8c45fSAndroid Build Coastguard Worker    ],
52*38e8c45fSAndroid Build Coastguard Worker    cflags: [
53*38e8c45fSAndroid Build Coastguard Worker        "-DLOG_TAG=\"SurfaceFlinger\"",
54*38e8c45fSAndroid Build Coastguard Worker        "-DGL_GLEXT_PROTOTYPES",
55*38e8c45fSAndroid Build Coastguard Worker        "-DEGL_EGLEXT_PROTOTYPES",
56*38e8c45fSAndroid Build Coastguard Worker    ],
57*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
58*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.configstore-utils",
59*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
60*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
61*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
62*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
63*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
64*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.common-V2-ndk",
65*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.common.fmq-V1-ndk",
66*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
67*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
68*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
69*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
70*38e8c45fSAndroid Build Coastguard Worker        "libbase",
71*38e8c45fSAndroid Build Coastguard Worker        "libbinder",
72*38e8c45fSAndroid Build Coastguard Worker        "libbinder_ndk",
73*38e8c45fSAndroid Build Coastguard Worker        "libcutils",
74*38e8c45fSAndroid Build Coastguard Worker        "libEGL",
75*38e8c45fSAndroid Build Coastguard Worker        "libfmq",
76*38e8c45fSAndroid Build Coastguard Worker        "libGLESv1_CM",
77*38e8c45fSAndroid Build Coastguard Worker        "libGLESv2",
78*38e8c45fSAndroid Build Coastguard Worker        "libgui",
79*38e8c45fSAndroid Build Coastguard Worker        "libhidlbase",
80*38e8c45fSAndroid Build Coastguard Worker        "liblog",
81*38e8c45fSAndroid Build Coastguard Worker        "libnativewindow",
82*38e8c45fSAndroid Build Coastguard Worker        "libpowermanager",
83*38e8c45fSAndroid Build Coastguard Worker        "libprocessgroup",
84*38e8c45fSAndroid Build Coastguard Worker        "libprotobuf-cpp-lite",
85*38e8c45fSAndroid Build Coastguard Worker        "libstatslog_surfaceflinger",
86*38e8c45fSAndroid Build Coastguard Worker        "libsync",
87*38e8c45fSAndroid Build Coastguard Worker        "libui",
88*38e8c45fSAndroid Build Coastguard Worker        "libutils",
89*38e8c45fSAndroid Build Coastguard Worker        "libSurfaceFlingerProp",
90*38e8c45fSAndroid Build Coastguard Worker        "libaconfig_storage_read_api_cc",
91*38e8c45fSAndroid Build Coastguard Worker    ],
92*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
93*38e8c45fSAndroid Build Coastguard Worker        "iinputflinger_aidl_lib_static",
94*38e8c45fSAndroid Build Coastguard Worker        "libaidlcommonsupport",
95*38e8c45fSAndroid Build Coastguard Worker        "libcompositionengine",
96*38e8c45fSAndroid Build Coastguard Worker        "libframetimeline",
97*38e8c45fSAndroid Build Coastguard Worker        "libgui_aidl_static",
98*38e8c45fSAndroid Build Coastguard Worker        "libperfetto_client_experimental",
99*38e8c45fSAndroid Build Coastguard Worker        "librenderengine",
100*38e8c45fSAndroid Build Coastguard Worker        "libscheduler",
101*38e8c45fSAndroid Build Coastguard Worker        "libserviceutils",
102*38e8c45fSAndroid Build Coastguard Worker        "libshaders",
103*38e8c45fSAndroid Build Coastguard Worker        "libsurfaceflingerflags",
104*38e8c45fSAndroid Build Coastguard Worker        "libtimestats",
105*38e8c45fSAndroid Build Coastguard Worker        "libtonemap",
106*38e8c45fSAndroid Build Coastguard Worker    ],
107*38e8c45fSAndroid Build Coastguard Worker    header_libs: [
108*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
109*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
110*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
111*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
112*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.graphics.composer3-command-buffer",
113*38e8c45fSAndroid Build Coastguard Worker    ],
114*38e8c45fSAndroid Build Coastguard Worker    export_static_lib_headers: [
115*38e8c45fSAndroid Build Coastguard Worker        "libcompositionengine",
116*38e8c45fSAndroid Build Coastguard Worker        "librenderengine",
117*38e8c45fSAndroid Build Coastguard Worker        "libserviceutils",
118*38e8c45fSAndroid Build Coastguard Worker        "libtimestats",
119*38e8c45fSAndroid Build Coastguard Worker    ],
120*38e8c45fSAndroid Build Coastguard Worker    export_shared_lib_headers: [
121*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
122*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
123*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
124*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
125*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
126*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
127*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
128*38e8c45fSAndroid Build Coastguard Worker        "libpowermanager",
129*38e8c45fSAndroid Build Coastguard Worker        "libhidlbase",
130*38e8c45fSAndroid Build Coastguard Worker    ],
131*38e8c45fSAndroid Build Coastguard Worker    // TODO (marissaw): this library is not used by surfaceflinger. This is here so
132*38e8c45fSAndroid Build Coastguard Worker    // the library compiled in a way that is accessible to system partition when running
133*38e8c45fSAndroid Build Coastguard Worker    // IMapper's VTS.
134*38e8c45fSAndroid Build Coastguard Worker    required: ["libgralloctypes"],
135*38e8c45fSAndroid Build Coastguard Worker}
136*38e8c45fSAndroid Build Coastguard Worker
137*38e8c45fSAndroid Build Coastguard Workercc_defaults {
138*38e8c45fSAndroid Build Coastguard Worker    name: "libsurfaceflinger_production_defaults",
139*38e8c45fSAndroid Build Coastguard Worker    defaults: ["libsurfaceflinger_defaults"],
140*38e8c45fSAndroid Build Coastguard Worker    lto: {
141*38e8c45fSAndroid Build Coastguard Worker        thin: true,
142*38e8c45fSAndroid Build Coastguard Worker    },
143*38e8c45fSAndroid Build Coastguard Worker    whole_program_vtables: true, // Requires ThinLTO
144*38e8c45fSAndroid Build Coastguard Worker    afdo: true,
145*38e8c45fSAndroid Build Coastguard Worker    // TODO(b/131771163): Fix broken fuzzer support with LTO.
146*38e8c45fSAndroid Build Coastguard Worker    sanitize: {
147*38e8c45fSAndroid Build Coastguard Worker        fuzzer: false,
148*38e8c45fSAndroid Build Coastguard Worker    },
149*38e8c45fSAndroid Build Coastguard Worker}
150*38e8c45fSAndroid Build Coastguard Worker
151*38e8c45fSAndroid Build Coastguard Worker// libsurfaceflinger_backend_{headers|sources} are a step towards pulling out
152*38e8c45fSAndroid Build Coastguard Worker// the "backend" sources to clean up the dependency graph between
153*38e8c45fSAndroid Build Coastguard Worker// CompositionEngine and SurfaceFlinger. Completing the cleanup would require
154*38e8c45fSAndroid Build Coastguard Worker// moving the headers in particular so that the dependency can strictly be a
155*38e8c45fSAndroid Build Coastguard Worker// DAG. There would certainly be additional cleanups: VirtualDisplaySurface.cpp
156*38e8c45fSAndroid Build Coastguard Worker// and FrameBufferSurface.cpp likely belong in CompositionEngine for example.
157*38e8c45fSAndroid Build Coastguard Workercc_library_headers {
158*38e8c45fSAndroid Build Coastguard Worker    name: "libsurfaceflinger_backend_headers",
159*38e8c45fSAndroid Build Coastguard Worker    export_include_dirs: ["."],
160*38e8c45fSAndroid Build Coastguard Worker    static_libs: ["libserviceutils"],
161*38e8c45fSAndroid Build Coastguard Worker    export_static_lib_headers: ["libserviceutils"],
162*38e8c45fSAndroid Build Coastguard Worker
163*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
164*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.configstore-utils",
165*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
166*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
167*38e8c45fSAndroid Build Coastguard Worker        "libbinder_ndk",
168*38e8c45fSAndroid Build Coastguard Worker    ],
169*38e8c45fSAndroid Build Coastguard Worker    export_shared_lib_headers: [
170*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.configstore-utils",
171*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
172*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
173*38e8c45fSAndroid Build Coastguard Worker        "libbinder_ndk",
174*38e8c45fSAndroid Build Coastguard Worker    ],
175*38e8c45fSAndroid Build Coastguard Worker}
176*38e8c45fSAndroid Build Coastguard Worker
177*38e8c45fSAndroid Build Coastguard Workerfilegroup {
178*38e8c45fSAndroid Build Coastguard Worker    name: "libsurfaceflinger_backend_sources",
179*38e8c45fSAndroid Build Coastguard Worker    srcs: [
180*38e8c45fSAndroid Build Coastguard Worker        "PowerAdvisor/*.cpp",
181*38e8c45fSAndroid Build Coastguard Worker        "DisplayHardware/AidlComposerHal.cpp",
182*38e8c45fSAndroid Build Coastguard Worker        "DisplayHardware/ComposerHal.cpp",
183*38e8c45fSAndroid Build Coastguard Worker        "DisplayHardware/FramebufferSurface.cpp",
184*38e8c45fSAndroid Build Coastguard Worker        "DisplayHardware/HWC2.cpp",
185*38e8c45fSAndroid Build Coastguard Worker        "DisplayHardware/HWComposer.cpp",
186*38e8c45fSAndroid Build Coastguard Worker        "DisplayHardware/HidlComposerHal.cpp",
187*38e8c45fSAndroid Build Coastguard Worker        "DisplayHardware/VirtualDisplaySurface.cpp",
188*38e8c45fSAndroid Build Coastguard Worker    ],
189*38e8c45fSAndroid Build Coastguard Worker}
190*38e8c45fSAndroid Build Coastguard Worker
191*38e8c45fSAndroid Build Coastguard Workercc_library_headers {
192*38e8c45fSAndroid Build Coastguard Worker    name: "libsurfaceflinger_headers",
193*38e8c45fSAndroid Build Coastguard Worker    export_include_dirs: ["."],
194*38e8c45fSAndroid Build Coastguard Worker    static_libs: ["libserviceutils"],
195*38e8c45fSAndroid Build Coastguard Worker    export_static_lib_headers: ["libserviceutils"],
196*38e8c45fSAndroid Build Coastguard Worker}
197*38e8c45fSAndroid Build Coastguard Worker
198*38e8c45fSAndroid Build Coastguard Workerfilegroup {
199*38e8c45fSAndroid Build Coastguard Worker    name: "libsurfaceflinger_sources",
200*38e8c45fSAndroid Build Coastguard Worker    srcs: [
201*38e8c45fSAndroid Build Coastguard Worker        ":libsurfaceflinger_backend_sources",
202*38e8c45fSAndroid Build Coastguard Worker        "ActivePictureUpdater.cpp",
203*38e8c45fSAndroid Build Coastguard Worker        "BackgroundExecutor.cpp",
204*38e8c45fSAndroid Build Coastguard Worker        "Client.cpp",
205*38e8c45fSAndroid Build Coastguard Worker        "ClientCache.cpp",
206*38e8c45fSAndroid Build Coastguard Worker        "Display/DisplayModeController.cpp",
207*38e8c45fSAndroid Build Coastguard Worker        "Display/DisplaySnapshot.cpp",
208*38e8c45fSAndroid Build Coastguard Worker        "DisplayDevice.cpp",
209*38e8c45fSAndroid Build Coastguard Worker        "DisplayRenderArea.cpp",
210*38e8c45fSAndroid Build Coastguard Worker        "Effects/Daltonizer.cpp",
211*38e8c45fSAndroid Build Coastguard Worker        "FrontEnd/LayerCreationArgs.cpp",
212*38e8c45fSAndroid Build Coastguard Worker        "FrontEnd/LayerHandle.cpp",
213*38e8c45fSAndroid Build Coastguard Worker        "FrontEnd/LayerSnapshot.cpp",
214*38e8c45fSAndroid Build Coastguard Worker        "FrontEnd/LayerSnapshotBuilder.cpp",
215*38e8c45fSAndroid Build Coastguard Worker        "FrontEnd/LayerHierarchy.cpp",
216*38e8c45fSAndroid Build Coastguard Worker        "FrontEnd/LayerLifecycleManager.cpp",
217*38e8c45fSAndroid Build Coastguard Worker        "FrontEnd/RequestedLayerState.cpp",
218*38e8c45fSAndroid Build Coastguard Worker        "FrontEnd/TransactionHandler.cpp",
219*38e8c45fSAndroid Build Coastguard Worker        "FpsReporter.cpp",
220*38e8c45fSAndroid Build Coastguard Worker        "FrameTracer/FrameTracer.cpp",
221*38e8c45fSAndroid Build Coastguard Worker        "FrameTracker.cpp",
222*38e8c45fSAndroid Build Coastguard Worker        "HdrLayerInfoReporter.cpp",
223*38e8c45fSAndroid Build Coastguard Worker        "HdrSdrRatioOverlay.cpp",
224*38e8c45fSAndroid Build Coastguard Worker        "Jank/JankTracker.cpp",
225*38e8c45fSAndroid Build Coastguard Worker        "WindowInfosListenerInvoker.cpp",
226*38e8c45fSAndroid Build Coastguard Worker        "Layer.cpp",
227*38e8c45fSAndroid Build Coastguard Worker        "LayerFE.cpp",
228*38e8c45fSAndroid Build Coastguard Worker        "LayerProtoHelper.cpp",
229*38e8c45fSAndroid Build Coastguard Worker        "LayerRenderArea.cpp",
230*38e8c45fSAndroid Build Coastguard Worker        "LayerVector.cpp",
231*38e8c45fSAndroid Build Coastguard Worker        "NativeWindowSurface.cpp",
232*38e8c45fSAndroid Build Coastguard Worker        "RefreshRateOverlay.cpp",
233*38e8c45fSAndroid Build Coastguard Worker        "RegionSamplingThread.cpp",
234*38e8c45fSAndroid Build Coastguard Worker        "RenderArea.cpp",
235*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/EventThread.cpp",
236*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/FrameRateOverrideMappings.cpp",
237*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/OneShotTimer.cpp",
238*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/LayerHistory.cpp",
239*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/LayerInfo.cpp",
240*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/MessageQueue.cpp",
241*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/RefreshRateSelector.cpp",
242*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/Scheduler.cpp",
243*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/SmallAreaDetectionAllowMappings.cpp",
244*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/VSyncDispatchTimerQueue.cpp",
245*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/VSyncPredictor.cpp",
246*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/VSyncReactor.cpp",
247*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/VsyncConfiguration.cpp",
248*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/VsyncModulator.cpp",
249*38e8c45fSAndroid Build Coastguard Worker        "Scheduler/VsyncSchedule.cpp",
250*38e8c45fSAndroid Build Coastguard Worker        "ScreenCaptureOutput.cpp",
251*38e8c45fSAndroid Build Coastguard Worker        "SurfaceFlinger.cpp",
252*38e8c45fSAndroid Build Coastguard Worker        "SurfaceFlingerDefaultFactory.cpp",
253*38e8c45fSAndroid Build Coastguard Worker        "Tracing/LayerDataSource.cpp",
254*38e8c45fSAndroid Build Coastguard Worker        "Tracing/LayerTracing.cpp",
255*38e8c45fSAndroid Build Coastguard Worker        "Tracing/TransactionDataSource.cpp",
256*38e8c45fSAndroid Build Coastguard Worker        "Tracing/TransactionTracing.cpp",
257*38e8c45fSAndroid Build Coastguard Worker        "Tracing/TransactionProtoParser.cpp",
258*38e8c45fSAndroid Build Coastguard Worker        "Tracing/tools/LayerTraceGenerator.cpp",
259*38e8c45fSAndroid Build Coastguard Worker        "TransactionCallbackInvoker.cpp",
260*38e8c45fSAndroid Build Coastguard Worker        "TunnelModeEnabledReporter.cpp",
261*38e8c45fSAndroid Build Coastguard Worker    ],
262*38e8c45fSAndroid Build Coastguard Worker}
263*38e8c45fSAndroid Build Coastguard Worker
264*38e8c45fSAndroid Build Coastguard Workercc_defaults {
265*38e8c45fSAndroid Build Coastguard Worker    name: "libsurfaceflinger_binary",
266*38e8c45fSAndroid Build Coastguard Worker    defaults: [
267*38e8c45fSAndroid Build Coastguard Worker        "surfaceflinger_defaults",
268*38e8c45fSAndroid Build Coastguard Worker        "libsurfaceflinger_production_defaults",
269*38e8c45fSAndroid Build Coastguard Worker    ],
270*38e8c45fSAndroid Build Coastguard Worker    cflags: [
271*38e8c45fSAndroid Build Coastguard Worker        "-DLOG_TAG=\"SurfaceFlinger\"",
272*38e8c45fSAndroid Build Coastguard Worker    ],
273*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
274*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.configstore-utils",
275*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
276*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
277*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
278*38e8c45fSAndroid Build Coastguard Worker        "libbinder",
279*38e8c45fSAndroid Build Coastguard Worker        "libcutils",
280*38e8c45fSAndroid Build Coastguard Worker        "libhidlbase",
281*38e8c45fSAndroid Build Coastguard Worker        "liblog",
282*38e8c45fSAndroid Build Coastguard Worker        "libprocessgroup",
283*38e8c45fSAndroid Build Coastguard Worker        "libsync",
284*38e8c45fSAndroid Build Coastguard Worker        "libutils",
285*38e8c45fSAndroid Build Coastguard Worker    ],
286*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
287*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
288*38e8c45fSAndroid Build Coastguard Worker        "libdisplayservicehidl",
289*38e8c45fSAndroid Build Coastguard Worker        "libserviceutils",
290*38e8c45fSAndroid Build Coastguard Worker    ],
291*38e8c45fSAndroid Build Coastguard Worker}
292*38e8c45fSAndroid Build Coastguard Worker
293*38e8c45fSAndroid Build Coastguard Workerfilegroup {
294*38e8c45fSAndroid Build Coastguard Worker    name: "surfaceflinger_binary_sources",
295*38e8c45fSAndroid Build Coastguard Worker    srcs: [
296*38e8c45fSAndroid Build Coastguard Worker        ":libsurfaceflinger_sources",
297*38e8c45fSAndroid Build Coastguard Worker        "main_surfaceflinger.cpp",
298*38e8c45fSAndroid Build Coastguard Worker    ],
299*38e8c45fSAndroid Build Coastguard Worker}
300*38e8c45fSAndroid Build Coastguard Worker
301*38e8c45fSAndroid Build Coastguard Workercc_binary {
302*38e8c45fSAndroid Build Coastguard Worker    name: "surfaceflinger",
303*38e8c45fSAndroid Build Coastguard Worker    defaults: ["libsurfaceflinger_binary"],
304*38e8c45fSAndroid Build Coastguard Worker    init_rc: ["surfaceflinger.rc"],
305*38e8c45fSAndroid Build Coastguard Worker    srcs: [
306*38e8c45fSAndroid Build Coastguard Worker        ":surfaceflinger_binary_sources",
307*38e8c45fSAndroid Build Coastguard Worker        // Note: SurfaceFlingerFactory is not in the filegroup so that it
308*38e8c45fSAndroid Build Coastguard Worker        // can be easily replaced.
309*38e8c45fSAndroid Build Coastguard Worker        "SurfaceFlingerFactory.cpp",
310*38e8c45fSAndroid Build Coastguard Worker    ],
311*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
312*38e8c45fSAndroid Build Coastguard Worker        "libSurfaceFlingerProp",
313*38e8c45fSAndroid Build Coastguard Worker    ],
314*38e8c45fSAndroid Build Coastguard Worker
315*38e8c45fSAndroid Build Coastguard Worker    logtags: ["surfaceflinger.logtags"],
316*38e8c45fSAndroid Build Coastguard Worker}
317*38e8c45fSAndroid Build Coastguard Worker
318*38e8c45fSAndroid Build Coastguard Workersubdirs = [
319*38e8c45fSAndroid Build Coastguard Worker    "layerproto",
320*38e8c45fSAndroid Build Coastguard Worker    "tests",
321*38e8c45fSAndroid Build Coastguard Worker]
322*38e8c45fSAndroid Build Coastguard Worker
323*38e8c45fSAndroid Build Coastguard Workercc_library_shared {
324*38e8c45fSAndroid Build Coastguard Worker    name: "libSurfaceFlingerProp",
325*38e8c45fSAndroid Build Coastguard Worker    srcs: [
326*38e8c45fSAndroid Build Coastguard Worker        "SurfaceFlingerProperties.cpp",
327*38e8c45fSAndroid Build Coastguard Worker    ],
328*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
329*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.configstore-utils",
330*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
331*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
332*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
333*38e8c45fSAndroid Build Coastguard Worker        "libhidlbase",
334*38e8c45fSAndroid Build Coastguard Worker        "libui",
335*38e8c45fSAndroid Build Coastguard Worker        "libutils",
336*38e8c45fSAndroid Build Coastguard Worker        "liblog",
337*38e8c45fSAndroid Build Coastguard Worker    ],
338*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
339*38e8c45fSAndroid Build Coastguard Worker        "libSurfaceFlingerProperties",
340*38e8c45fSAndroid Build Coastguard Worker    ],
341*38e8c45fSAndroid Build Coastguard Worker    export_shared_lib_headers: [
342*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
343*38e8c45fSAndroid Build Coastguard Worker        "libhidlbase",
344*38e8c45fSAndroid Build Coastguard Worker        "libui",
345*38e8c45fSAndroid Build Coastguard Worker    ],
346*38e8c45fSAndroid Build Coastguard Worker    export_static_lib_headers: [
347*38e8c45fSAndroid Build Coastguard Worker        "libSurfaceFlingerProperties",
348*38e8c45fSAndroid Build Coastguard Worker    ],
349*38e8c45fSAndroid Build Coastguard Worker}
350*38e8c45fSAndroid Build Coastguard Worker
351*38e8c45fSAndroid Build Coastguard Workercc_library {
352*38e8c45fSAndroid Build Coastguard Worker    name: "libstatslog_surfaceflinger",
353*38e8c45fSAndroid Build Coastguard Worker    generated_sources: ["statslog_surfaceflinger.cpp"],
354*38e8c45fSAndroid Build Coastguard Worker    generated_headers: ["statslog_surfaceflinger.h"],
355*38e8c45fSAndroid Build Coastguard Worker    export_generated_headers: ["statslog_surfaceflinger.h"],
356*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
357*38e8c45fSAndroid Build Coastguard Worker        "libbinder",
358*38e8c45fSAndroid Build Coastguard Worker        "libstatsbootstrap",
359*38e8c45fSAndroid Build Coastguard Worker        "libutils",
360*38e8c45fSAndroid Build Coastguard Worker        "android.os.statsbootstrap_aidl-cpp",
361*38e8c45fSAndroid Build Coastguard Worker    ],
362*38e8c45fSAndroid Build Coastguard Worker}
363*38e8c45fSAndroid Build Coastguard Worker
364*38e8c45fSAndroid Build Coastguard Workergenrule {
365*38e8c45fSAndroid Build Coastguard Worker    name: "statslog_surfaceflinger.h",
366*38e8c45fSAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
367*38e8c45fSAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_surfaceflinger.h" +
368*38e8c45fSAndroid Build Coastguard Worker        " --module surfaceflinger --namespace android,surfaceflinger,stats --bootstrap",
369*38e8c45fSAndroid Build Coastguard Worker    out: [
370*38e8c45fSAndroid Build Coastguard Worker        "statslog_surfaceflinger.h",
371*38e8c45fSAndroid Build Coastguard Worker    ],
372*38e8c45fSAndroid Build Coastguard Worker}
373*38e8c45fSAndroid Build Coastguard Worker
374*38e8c45fSAndroid Build Coastguard Workergenrule {
375*38e8c45fSAndroid Build Coastguard Worker    name: "statslog_surfaceflinger.cpp",
376*38e8c45fSAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
377*38e8c45fSAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_surfaceflinger.cpp" +
378*38e8c45fSAndroid Build Coastguard Worker        " --module surfaceflinger --namespace android,surfaceflinger,stats" +
379*38e8c45fSAndroid Build Coastguard Worker        " --importHeader statslog_surfaceflinger.h --bootstrap",
380*38e8c45fSAndroid Build Coastguard Worker    out: [
381*38e8c45fSAndroid Build Coastguard Worker        "statslog_surfaceflinger.cpp",
382*38e8c45fSAndroid Build Coastguard Worker    ],
383*38e8c45fSAndroid Build Coastguard Worker}
384