|  | 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", | 
|  | ], | 
|  | }, | 
|  | mips: { | 
|  | mips32r6: { | 
|  | srcs: [ | 
|  | "codeflinger/MIPSAssembler.cpp", | 
|  | "codeflinger/mips_disassem.c", | 
|  | "arch-mips/t32cb16blend.S", | 
|  | ], | 
|  | }, | 
|  | }, | 
|  | mips64: { | 
|  | srcs: [ | 
|  | "codeflinger/MIPSAssembler.cpp", | 
|  | "codeflinger/MIPS64Assembler.cpp", | 
|  | "codeflinger/mips64_disassem.c", | 
|  | "arch-mips64/col32cb16blend.S", | 
|  | "arch-mips64/t32cb16blend.S", | 
|  | ], | 
|  | }, | 
|  | }, | 
|  | } |