cc_defaults { name: "libcompositionengine_defaults", defaults: ["surfaceflinger_defaults"], cflags: [ "-DLOG_TAG=\"CompositionEngine\"", ], shared_libs: [ "android.frameworks.vr.composer@1.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.power@1.0", "android.hardware.power@1.3", "libbase", "libcutils", "libgui", "liblayers_proto", "liblog", "libnativewindow", "libsync", "libtimestats_proto", "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", "libsurfaceflinger_headers", ], } cc_library { name: "libcompositionengine", defaults: ["libcompositionengine_defaults"], srcs: [ "src/CompositionEngine.cpp", "src/Display.cpp", "src/DisplayColorProfile.cpp", "src/DisplaySurface.cpp", "src/DumpHelpers.cpp", "src/HwcBufferCache.cpp", "src/Layer.cpp", "src/LayerCompositionState.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/Layer.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/LayerTest.cpp", "tests/MockHWC2.cpp", "tests/MockHWComposer.cpp", "tests/OutputTest.cpp", "tests/OutputLayerTest.cpp", "tests/RenderSurfaceTest.cpp", ], static_libs: [ "libcompositionengine", "libcompositionengine_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. address: true, }, }