cc_defaults { name: "renderengine_defaults", cflags: [ "-DLOG_TAG=\"RenderEngine\"", "-Wall", "-Werror", "-Wthread-safety", "-Wunused", "-Wunreachable-code", ], } cc_defaults { name: "librenderengine_defaults", defaults: ["renderengine_defaults"], cflags: [ "-DGL_GLEXT_PROTOTYPES", "-DEGL_EGLEXT_PROTOTYPES", ], shared_libs: [ "libbase", "libcutils", "libEGL", "libGLESv1_CM", "libGLESv2", "libgui", "liblog", "libnativewindow", "libsync", "libui", "libutils", ], local_include_dirs: ["include"], export_include_dirs: ["include"], } filegroup { name: "librenderengine_sources", srcs: [ "Description.cpp", "Mesh.cpp", "RenderEngine.cpp", "Texture.cpp", ], } filegroup { name: "librenderengine_gl_sources", srcs: [ "gl/GLESRenderEngine.cpp", "gl/GLExtensions.cpp", "gl/GLFramebuffer.cpp", "gl/GLImage.cpp", "gl/Program.cpp", "gl/ProgramCache.cpp", ], } cc_library_static { name: "librenderengine", defaults: ["librenderengine_defaults"], vendor_available: true, vndk: { enabled: true, }, double_loadable: true, clang: true, cflags: [ "-fvisibility=hidden", "-Werror=format", ], cppflags: [ "-fwhole-program-vtables", // requires ThinLTO ], srcs: [ ":librenderengine_sources", ":librenderengine_gl_sources", ], lto: { thin: true, }, } cc_library_static { name: "librenderengine_mocks", defaults: ["librenderengine_defaults"], srcs: [ "mock/Framebuffer.cpp", "mock/Image.cpp", "mock/RenderEngine.cpp", ], static_libs: [ "libgtest", "libgmock", ], local_include_dirs: ["include"], export_include_dirs: ["include"], }