cc_defaults { name: "pixelflinger_defaults", cflags: [ "-fstrict-aliasing", "-fomit-frame-pointer", "-Wall", "-Werror", "-Wno-unused-function", ], export_include_dirs: ["include"], header_libs: ["libbase_headers"], shared_libs: [ "libcutils", "liblog", "libutils", ], arch: { arm: { neon: { cflags: ["-D__ARM_HAVE_NEON"], }, }, }, } cc_library_static { name: "libpixelflinger-arm", defaults: ["pixelflinger_defaults"], srcs: [ "fixed.cpp", "picker.cpp", "pixelflinger.cpp", "trap.cpp", "scanline.cpp", ], arch: { arm: { instruction_set: "arm", }, }, } // For the tests to use cc_library_headers { name: "libpixelflinger_internal", export_include_dirs: [ "include", ".", ], } cc_library { name: "libpixelflinger", defaults: ["pixelflinger_defaults"], srcs: [ "codeflinger/ARMAssemblerInterface.cpp", "codeflinger/ARMAssemblerProxy.cpp", "codeflinger/CodeCache.cpp", "codeflinger/GGLAssembler.cpp", "codeflinger/load_store.cpp", "codeflinger/blending.cpp", "codeflinger/texturing.cpp", "format.cpp", "clear.cpp", "raster.cpp", "buffer.cpp", ], whole_static_libs: ["libpixelflinger-arm"], arch: { arm: { srcs: [ "codeflinger/ARMAssembler.cpp", "codeflinger/disassem.c", "col32cb16blend.S", "t32cb16blend.S", ], neon: { srcs: ["col32cb16blend_neon.S"], }, }, arm64: { srcs: [ "codeflinger/Arm64Assembler.cpp", "codeflinger/Arm64Disassembler.cpp", "arch-arm64/col32cb16blend.S", "arch-arm64/t32cb16blend.S", ], }, }, }