blob: b3b9fe59813c3004e97abe24c006a66578327278 [file] [log] [blame]
cc_defaults {
name: "libcompositionengine_defaults",
defaults: ["surfaceflinger_defaults"],
cflags: [
"-DLOG_TAG=\"CompositionEngine\"",
"-DATRACE_TAG=ATRACE_TAG_GRAPHICS",
],
shared_libs: [
"android.frameworks.vr.composer@2.0",
"android.hardware.graphics.allocator@2.0",
"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",
"libbase",
"libcutils",
"libgui",
"liblayers_proto",
"liblog",
"libnativewindow",
"libprotobuf-cpp-lite",
"libtimestats",
"libui",
"libutils",
],
static_libs: [
"libmath",
"librenderengine",
"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",
"libsurfaceflinger_headers",
],
}
cc_library {
name: "libcompositionengine",
defaults: ["libcompositionengine_defaults"],
srcs: [
"src/ClientCompositionRequestCache.cpp",
"src/CompositionEngine.cpp",
"src/Display.cpp",
"src/DisplayColorProfile.cpp",
"src/DisplaySurface.cpp",
"src/DumpHelpers.cpp",
"src/HwcBufferCache.cpp",
"src/LayerFECompositionState.cpp",
"src/Output.cpp",
"src/OutputCompositionState.cpp",
"src/OutputLayer.cpp",
"src/OutputLayerCompositionState.cpp",
"src/RenderSurface.cpp",
],
local_include_dirs: ["include"],
export_include_dirs: ["include"],
}
cc_library {
name: "libcompositionengine_mocks",
defaults: ["libcompositionengine_defaults"],
srcs: [
"mock/CompositionEngine.cpp",
"mock/Display.cpp",
"mock/DisplayColorProfile.cpp",
"mock/DisplaySurface.cpp",
"mock/LayerFE.cpp",
"mock/NativeWindow.cpp",
"mock/Output.cpp",
"mock/OutputLayer.cpp",
"mock/RenderSurface.cpp",
],
static_libs: [
"libgtest",
"libgmock",
"libcompositionengine",
],
local_include_dirs: ["include"],
export_include_dirs: ["include"],
}
cc_test {
name: "libcompositionengine_test",
test_suites: ["device-tests"],
defaults: ["libcompositionengine_defaults"],
srcs: [
"tests/CompositionEngineTest.cpp",
"tests/DisplayColorProfileTest.cpp",
"tests/DisplayTest.cpp",
"tests/HwcBufferCacheTest.cpp",
"tests/MockHWC2.cpp",
"tests/MockHWComposer.cpp",
"tests/MockPowerAdvisor.cpp",
"tests/OutputTest.cpp",
"tests/OutputLayerTest.cpp",
"tests/RenderSurfaceTest.cpp",
],
static_libs: [
"libcompositionengine",
"libcompositionengine_mocks",
"libgui_mocks",
"librenderengine_mocks",
"libgmock",
"libgtest",
],
sanitize: {
// By using the address sanitizer, we not only uncover any issues
// with the test, but also any issues with the code under test.
//
// Note: If you get an runtime link error like:
//
// CANNOT LINK EXECUTABLE "/data/local/tmp/libcompositionengine_test": library "libclang_rt.asan-aarch64-android.so" not found
//
// it is because the address sanitizer shared objects are not installed
// by default in the system image.
//
// You can either "make dist tests" before flashing, or set this
// option to false temporarily.
// FIXME: ASAN build is broken for a while, but was not discovered
// since new PM silently suppressed ASAN. Temporarily turn off ASAN
// to unblock the compiler upgrade process.
// address: true,
// http://b/139747256
address: false,
},
}