You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
290 lines
8.1 KiB
290 lines
8.1 KiB
package {
|
|
// See: http://go/android-license-faq
|
|
// A large-scale-change added 'default_applicable_licenses' to import
|
|
// all of the 'license_kinds' from "frameworks_native_license"
|
|
// to get the below license kinds:
|
|
// SPDX-license-identifier-Apache-2.0
|
|
default_applicable_licenses: ["frameworks_native_license"],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "surfaceflinger_defaults",
|
|
cflags: [
|
|
"-Wall",
|
|
"-Werror",
|
|
"-Wextra",
|
|
"-Wformat",
|
|
"-Wthread-safety",
|
|
"-Wunused",
|
|
"-Wunreachable-code",
|
|
"-Wconversion",
|
|
],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "libsurfaceflinger_defaults",
|
|
defaults: [
|
|
"surfaceflinger_defaults",
|
|
"skia_renderengine_deps",
|
|
],
|
|
cflags: [
|
|
"-DLOG_TAG=\"SurfaceFlinger\"",
|
|
"-DGL_GLEXT_PROTOTYPES",
|
|
"-DEGL_EGLEXT_PROTOTYPES",
|
|
],
|
|
shared_libs: [
|
|
"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-V1-cpp",
|
|
"libbase",
|
|
"libbinder",
|
|
"libcutils",
|
|
"libEGL",
|
|
"libfmq",
|
|
"libGLESv1_CM",
|
|
"libGLESv2",
|
|
"libgui",
|
|
"libhidlbase",
|
|
"liblayers_proto",
|
|
"liblog",
|
|
"libnativewindow",
|
|
"libprocessgroup",
|
|
"libprotobuf-cpp-lite",
|
|
"libsync",
|
|
"libtimestats",
|
|
"libui",
|
|
"libinput",
|
|
"libutils",
|
|
"libSurfaceFlingerProp",
|
|
],
|
|
static_libs: [
|
|
"libcompositionengine",
|
|
"libframetimeline",
|
|
"libperfetto_client_experimental",
|
|
"librenderengine",
|
|
"libserviceutils",
|
|
"libtrace_proto",
|
|
],
|
|
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",
|
|
],
|
|
lto: {
|
|
thin: true,
|
|
},
|
|
whole_program_vtables: true, // Requires ThinLTO
|
|
pgo: {
|
|
sampling: true,
|
|
profile_file: "surfaceflinger/surfaceflinger.profdata",
|
|
},
|
|
// TODO(b/131771163): Fix broken fuzzer support with LTO.
|
|
sanitize: {
|
|
fuzzer: false,
|
|
},
|
|
}
|
|
|
|
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",
|
|
"DisplayRenderArea.cpp",
|
|
"Effects/Daltonizer.cpp",
|
|
"EventLog/EventLog.cpp",
|
|
"FpsReporter.cpp",
|
|
"FrameTracer/FrameTracer.cpp",
|
|
"FrameTracker.cpp",
|
|
"HdrLayerInfoReporter.cpp",
|
|
"Layer.cpp",
|
|
"LayerProtoHelper.cpp",
|
|
"LayerRejecter.cpp",
|
|
"LayerRenderArea.cpp",
|
|
"LayerVector.cpp",
|
|
"MonitoredProducer.cpp",
|
|
"NativeWindowSurface.cpp",
|
|
"RefreshRateOverlay.cpp",
|
|
"RegionSamplingThread.cpp",
|
|
"RenderArea.cpp",
|
|
"Scheduler/DispSyncSource.cpp",
|
|
"Scheduler/EventThread.cpp",
|
|
"Scheduler/OneShotTimer.cpp",
|
|
"Scheduler/LayerHistory.cpp",
|
|
"Scheduler/LayerInfo.cpp",
|
|
"Scheduler/MessageQueue.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",
|
|
"Scheduler/VsyncConfiguration.cpp",
|
|
"StartPropertySetThread.cpp",
|
|
"SurfaceFlinger.cpp",
|
|
"SurfaceFlingerDefaultFactory.cpp",
|
|
"SurfaceInterceptor.cpp",
|
|
"SurfaceTracing.cpp",
|
|
"TransactionCallbackInvoker.cpp",
|
|
"TunnelModeEnabledReporter.cpp",
|
|
],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "libsurfaceflinger_binary",
|
|
defaults: [
|
|
"surfaceflinger_defaults",
|
|
"libsurfaceflinger_production_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",
|
|
],
|
|
}
|
|
|
|
filegroup {
|
|
name: "surfaceflinger_binary_sources",
|
|
srcs: [
|
|
":libsurfaceflinger_sources",
|
|
"main_surfaceflinger.cpp",
|
|
],
|
|
}
|
|
|
|
cc_binary {
|
|
name: "surfaceflinger",
|
|
defaults: ["libsurfaceflinger_binary"],
|
|
init_rc: ["surfaceflinger.rc"],
|
|
srcs: [
|
|
":surfaceflinger_binary_sources",
|
|
// HUANGLONG begin
|
|
":surfaceflingerex_source",
|
|
// HUANGLONG end
|
|
// Note: SurfaceFlingerFactory is not in the filegroup so that it
|
|
// can be easily replaced.
|
|
"SurfaceFlingerFactory.cpp",
|
|
],
|
|
shared_libs: [
|
|
"libSurfaceFlingerProp",
|
|
],
|
|
// HUANGLONG begin
|
|
include_dirs: [ "vendor/huanglong/aosp_ext/frameworks/native/services/surfaceflinger"],
|
|
// HUANGLONG end
|
|
|
|
logtags: ["EventLog/EventLogTags.logtags"],
|
|
}
|
|
|
|
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",
|
|
],
|
|
}
|