315 lines
8.7 KiB
Plaintext
Executable File
315 lines
8.7 KiB
Plaintext
Executable File
cc_defaults {
|
|
name: "surfaceflinger_defaults",
|
|
cflags: [
|
|
"-Wall",
|
|
"-Werror",
|
|
"-Wformat",
|
|
"-Wthread-safety",
|
|
"-Wunused",
|
|
"-Wunreachable-code",
|
|
"-Wconversion",
|
|
],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "libsurfaceflinger_defaults",
|
|
defaults: ["surfaceflinger_defaults","cc_libsurfaceflinger_defaults"],
|
|
cflags: [
|
|
"-DLOG_TAG=\"SurfaceFlinger\"",
|
|
"-DGL_GLEXT_PROTOTYPES",
|
|
"-DEGL_EGLEXT_PROTOTYPES",
|
|
],
|
|
shared_libs: [
|
|
"android.frameworks.vr.composer@2.0",
|
|
"android.hardware.configstore-utils",
|
|
"android.hardware.configstore@1.0",
|
|
"android.hardware.configstore@1.1",
|
|
"android.hardware.graphics.allocator@2.0",
|
|
"android.hardware.graphics.allocator@3.0",
|
|
"android.hardware.graphics.common@1.2",
|
|
"android.hardware.graphics.composer@2.1",
|
|
"android.hardware.graphics.composer@2.2",
|
|
"android.hardware.graphics.composer@2.3",
|
|
"android.hardware.graphics.composer@2.4",
|
|
"android.hardware.power@1.0",
|
|
"android.hardware.power@1.3",
|
|
"android.hardware.power-cpp",
|
|
"libbase",
|
|
"libbinder",
|
|
"libbufferhubqueue",
|
|
"libcutils",
|
|
"libEGL",
|
|
"libfmq",
|
|
"libGLESv1_CM",
|
|
"libGLESv2",
|
|
"libgui",
|
|
"libhidlbase",
|
|
"liblayers_proto",
|
|
"liblog",
|
|
"libnativewindow",
|
|
"libpdx_default_transport",
|
|
"libprocessgroup",
|
|
"libprotobuf-cpp-lite",
|
|
"libstatslog",
|
|
"libsync",
|
|
"libtimestats",
|
|
"libui",
|
|
"libinput",
|
|
"libutils",
|
|
"libSurfaceFlingerProp",
|
|
"libgraphicpolicy",
|
|
"librga",
|
|
],
|
|
// VrComposer is not used when building surfaceflinger for vendors
|
|
target: {
|
|
vendor: {
|
|
exclude_shared_libs: [
|
|
"android.frameworks.vr.composer@2.0",
|
|
],
|
|
},
|
|
},
|
|
static_libs: [
|
|
"libcompositionengine",
|
|
"libperfetto_client_experimental",
|
|
"librenderengine",
|
|
"libserviceutils",
|
|
"libtrace_proto",
|
|
"libvrflinger",
|
|
],
|
|
header_libs: [
|
|
"android.hardware.graphics.composer@2.1-command-buffer",
|
|
"android.hardware.graphics.composer@2.2-command-buffer",
|
|
"android.hardware.graphics.composer@2.3-command-buffer",
|
|
"android.hardware.graphics.composer@2.4-command-buffer",
|
|
],
|
|
export_static_lib_headers: [
|
|
"libcompositionengine",
|
|
"librenderengine",
|
|
"libserviceutils",
|
|
],
|
|
export_shared_lib_headers: [
|
|
"android.hardware.graphics.allocator@2.0",
|
|
"android.hardware.graphics.allocator@3.0",
|
|
"android.hardware.graphics.common@1.2",
|
|
"android.hardware.graphics.composer@2.1",
|
|
"android.hardware.graphics.composer@2.2",
|
|
"android.hardware.graphics.composer@2.3",
|
|
"android.hardware.graphics.composer@2.4",
|
|
"android.hardware.power@1.3",
|
|
"libhidlbase",
|
|
"libtimestats",
|
|
],
|
|
// TODO (marissaw): this library is not used by surfaceflinger. This is here so
|
|
// the library compiled in a way that is accessible to system partition when running
|
|
// IMapper's VTS.
|
|
required: ["libgralloctypes"]
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "libsurfaceflinger_production_defaults",
|
|
defaults: ["libsurfaceflinger_defaults"],
|
|
cflags: [
|
|
"-fvisibility=hidden",
|
|
"-fwhole-program-vtables", // requires ThinLTO
|
|
],
|
|
lto: {
|
|
thin: true,
|
|
},
|
|
// TODO(b/131771163): Fix broken fuzzer support with LTO.
|
|
sanitize: {
|
|
fuzzer: false,
|
|
},
|
|
}
|
|
|
|
bootstrap_go_package {
|
|
name: "soong-libsurfaceflinger",
|
|
pkgPath: "android/soong/libsurfaceflinger",
|
|
deps: [
|
|
"blueprint",
|
|
"blueprint-pathtools",
|
|
"soong",
|
|
"soong-android",
|
|
"soong-cc",
|
|
"soong-genrule",
|
|
],
|
|
srcs: [
|
|
"Android.go",
|
|
],
|
|
pluginFor: ["soong_build"],
|
|
}
|
|
cc_libsurfaceflinger {
|
|
name: "cc_libsurfaceflinger_defaults"
|
|
}
|
|
|
|
cc_library_headers {
|
|
name: "libsurfaceflinger_headers",
|
|
export_include_dirs: ["."],
|
|
static_libs: ["libserviceutils"],
|
|
export_static_lib_headers: ["libserviceutils"],
|
|
}
|
|
|
|
filegroup {
|
|
name: "libsurfaceflinger_sources",
|
|
srcs: [
|
|
"BufferLayer.cpp",
|
|
"BufferLayerConsumer.cpp",
|
|
"BufferQueueLayer.cpp",
|
|
"BufferStateLayer.cpp",
|
|
"ClientCache.cpp",
|
|
"Client.cpp",
|
|
"EffectLayer.cpp",
|
|
"ContainerLayer.cpp",
|
|
"DisplayDevice.cpp",
|
|
"DisplayHardware/ComposerHal.cpp",
|
|
"DisplayHardware/DisplayIdentification.cpp",
|
|
"DisplayHardware/FramebufferSurface.cpp",
|
|
"DisplayHardware/HWC2.cpp",
|
|
"DisplayHardware/HWComposer.cpp",
|
|
"DisplayHardware/PowerAdvisor.cpp",
|
|
"DisplayHardware/VirtualDisplaySurface.cpp",
|
|
"Effects/Daltonizer.cpp",
|
|
"EventLog/EventLog.cpp",
|
|
"FrameTracer/FrameTracer.cpp",
|
|
"FrameTracker.cpp",
|
|
"Layer.cpp",
|
|
"LayerProtoHelper.cpp",
|
|
"LayerRejecter.cpp",
|
|
"LayerVector.cpp",
|
|
"MonitoredProducer.cpp",
|
|
"NativeWindowSurface.cpp",
|
|
"RefreshRateOverlay.cpp",
|
|
"RegionSamplingThread.cpp",
|
|
"RenderArea.cpp",
|
|
"Scheduler/DispSync.cpp",
|
|
"Scheduler/DispSyncSource.cpp",
|
|
"Scheduler/EventControlThread.cpp",
|
|
"Scheduler/EventThread.cpp",
|
|
"Scheduler/OneShotTimer.cpp",
|
|
"Scheduler/LayerHistory.cpp",
|
|
"Scheduler/LayerHistoryV2.cpp",
|
|
"Scheduler/LayerInfo.cpp",
|
|
"Scheduler/LayerInfoV2.cpp",
|
|
"Scheduler/MessageQueue.cpp",
|
|
"Scheduler/PhaseOffsets.cpp",
|
|
"Scheduler/RefreshRateConfigs.cpp",
|
|
"Scheduler/Scheduler.cpp",
|
|
"Scheduler/SchedulerUtils.cpp",
|
|
"Scheduler/Timer.cpp",
|
|
"Scheduler/VSyncDispatchTimerQueue.cpp",
|
|
"Scheduler/VSyncPredictor.cpp",
|
|
"Scheduler/VSyncModulator.cpp",
|
|
"Scheduler/VSyncReactor.cpp",
|
|
"StartPropertySetThread.cpp",
|
|
"SurfaceFlinger.cpp",
|
|
"SurfaceFlingerDefaultFactory.cpp",
|
|
"SurfaceInterceptor.cpp",
|
|
"SurfaceTracing.cpp",
|
|
"TransactionCompletedThread.cpp",
|
|
],
|
|
}
|
|
|
|
cc_library_shared {
|
|
// Please use libsurfaceflinger_defaults to configure how the sources are
|
|
// built, so the same settings can be used elsewhere.
|
|
name: "libsurfaceflinger",
|
|
defaults: ["libsurfaceflinger_production_defaults"],
|
|
srcs: [
|
|
":libsurfaceflinger_sources",
|
|
|
|
// Note: SurfaceFlingerFactory is not in the default sources so that it
|
|
// can be easily replaced.
|
|
"SurfaceFlingerFactory.cpp",
|
|
],
|
|
cflags: [
|
|
"-DUSE_VR_COMPOSER=1",
|
|
],
|
|
// VrComposer is not used when building surfaceflinger for vendors
|
|
target: {
|
|
vendor: {
|
|
cflags: [
|
|
"-DUSE_VR_COMPOSER=0",
|
|
],
|
|
},
|
|
},
|
|
logtags: ["EventLog/EventLogTags.logtags"],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "libsurfaceflinger_binary",
|
|
defaults: ["surfaceflinger_defaults"],
|
|
cflags: [
|
|
"-DLOG_TAG=\"SurfaceFlinger\"",
|
|
],
|
|
shared_libs: [
|
|
"android.frameworks.displayservice@1.0",
|
|
"android.hardware.configstore-utils",
|
|
"android.hardware.configstore@1.0",
|
|
"android.hardware.graphics.allocator@2.0",
|
|
"android.hardware.graphics.allocator@3.0",
|
|
"libbinder",
|
|
"libcutils",
|
|
"libdisplayservicehidl",
|
|
"libhidlbase",
|
|
"libinput",
|
|
"liblayers_proto",
|
|
"liblog",
|
|
"libprocessgroup",
|
|
"libsync",
|
|
"libutils",
|
|
],
|
|
static_libs: [
|
|
"libserviceutils",
|
|
"libtrace_proto",
|
|
],
|
|
ldflags: ["-Wl,--export-dynamic"],
|
|
}
|
|
|
|
filegroup {
|
|
name: "surfaceflinger_binary_sources",
|
|
srcs: ["main_surfaceflinger.cpp"],
|
|
}
|
|
|
|
cc_binary {
|
|
name: "surfaceflinger",
|
|
defaults: ["libsurfaceflinger_binary"],
|
|
init_rc: ["surfaceflinger.rc"],
|
|
srcs: [":surfaceflinger_binary_sources"],
|
|
shared_libs: [
|
|
"libsurfaceflinger",
|
|
"libSurfaceFlingerProp",
|
|
],
|
|
}
|
|
|
|
subdirs = [
|
|
"layerproto",
|
|
"tests",
|
|
]
|
|
|
|
cc_library_shared {
|
|
name: "libSurfaceFlingerProp",
|
|
srcs: [
|
|
"SurfaceFlingerProperties.cpp",
|
|
],
|
|
shared_libs: [
|
|
"android.hardware.configstore-utils",
|
|
"android.hardware.configstore@1.0",
|
|
"android.hardware.configstore@1.1",
|
|
"android.hardware.graphics.common@1.2",
|
|
"libhidlbase",
|
|
"libui",
|
|
"libutils",
|
|
"liblog",
|
|
],
|
|
static_libs: [
|
|
"SurfaceFlingerProperties",
|
|
],
|
|
export_shared_lib_headers: [
|
|
"android.hardware.graphics.common@1.2",
|
|
"libhidlbase",
|
|
"libui",
|
|
],
|
|
export_static_lib_headers: [
|
|
"SurfaceFlingerProperties",
|
|
],
|
|
}
|