1 cc_defaults { 2 name: "renderengine_defaults", 3 cflags: [ 4 "-DLOG_TAG=\"RenderEngine\"", 5 "-Wall", 6 "-Werror", 7 "-Wthread-safety", 8 "-Wunused", 9 "-Wunreachable-code", 10 ], 11 } 12 13 cc_defaults { 14 name: "librenderengine_defaults", 15 defaults: ["renderengine_defaults"], 16 cflags: [ 17 "-DGL_GLEXT_PROTOTYPES", 18 "-DEGL_EGLEXT_PROTOTYPES", 19 ], 20 shared_libs: [ 21 "libbase", 22 "libcutils", 23 "libEGL", 24 "libGLESv1_CM", 25 "libGLESv2", 26 "libgui", 27 "liblog", 28 "libnativewindow", 29 "libsync", 30 "libui", 31 "libutils", 32 ], 33 local_include_dirs: ["include"], 34 export_include_dirs: ["include"], 35 } 36 37 filegroup { 38 name: "librenderengine_sources", 39 srcs: [ 40 "Description.cpp", 41 "Mesh.cpp", 42 "RenderEngine.cpp", 43 "Texture.cpp", 44 ], 45 } 46 47 filegroup { 48 name: "librenderengine_gl_sources", 49 srcs: [ 50 "gl/GLESRenderEngine.cpp", 51 "gl/GLExtensions.cpp", 52 "gl/GLFramebuffer.cpp", 53 "gl/GLImage.cpp", 54 "gl/Program.cpp", 55 "gl/ProgramCache.cpp", 56 ], 57 } 58 59 cc_library_static { 60 name: "librenderengine", 61 defaults: ["librenderengine_defaults"], 62 vendor_available: true, 63 vndk: { 64 enabled: true, 65 }, 66 double_loadable: true, 67 clang: true, 68 cflags: [ 69 "-fvisibility=hidden", 70 "-Werror=format", 71 ], 72 cppflags: [ 73 "-fwhole-program-vtables", // requires ThinLTO 74 ], 75 srcs: [ 76 ":librenderengine_sources", 77 ":librenderengine_gl_sources", 78 ], 79 lto: { 80 thin: true, 81 }, 82 } 83 84 cc_library_static { 85 name: "librenderengine_mocks", 86 defaults: ["librenderengine_defaults"], 87 srcs: [ 88 "mock/Framebuffer.cpp", 89 "mock/Image.cpp", 90 "mock/RenderEngine.cpp", 91 ], 92 static_libs: [ 93 "libgtest", 94 "libgmock", 95 ], 96 local_include_dirs: ["include"], 97 export_include_dirs: ["include"], 98 } 99