From f88fb1fade2f36dfc302e9bf11e8d9e37bdbcd76 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 11 Feb 2014 13:32:56 -0800 Subject: [PATCH] pixelflinger: support multilib builds Use the LOCAL_*_arch variables to support building for 32-bit and 64-bit at the same time. Change-Id: Ibef8044e8b6500a6aa111320eb35bcdaf51ad064 --- libpixelflinger/Android.mk | 70 ++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 37 deletions(-) diff --git a/libpixelflinger/Android.mk b/libpixelflinger/Android.mk index fe50cc673..c24384c26 100644 --- a/libpixelflinger/Android.mk +++ b/libpixelflinger/Android.mk @@ -7,13 +7,13 @@ include $(CLEAR_VARS) include $(CLEAR_VARS) PIXELFLINGER_SRC_FILES:= \ - codeflinger/ARMAssemblerInterface.cpp \ - codeflinger/ARMAssemblerProxy.cpp \ - codeflinger/CodeCache.cpp \ - codeflinger/GGLAssembler.cpp \ - codeflinger/load_store.cpp \ - codeflinger/blending.cpp \ - codeflinger/texturing.cpp \ + codeflinger/ARMAssemblerInterface.cpp \ + codeflinger/ARMAssemblerProxy.cpp \ + codeflinger/CodeCache.cpp \ + codeflinger/GGLAssembler.cpp \ + codeflinger/load_store.cpp \ + codeflinger/blending.cpp \ + codeflinger/texturing.cpp \ codeflinger/tinyutils/SharedBuffer.cpp \ codeflinger/tinyutils/VectorImpl.cpp \ fixed.cpp.arm \ @@ -26,39 +26,28 @@ PIXELFLINGER_SRC_FILES:= \ raster.cpp \ buffer.cpp -ifeq ($(TARGET_ARCH),arm) -ifeq ($(TARGET_ARCH_VERSION),armv7-a) -PIXELFLINGER_SRC_FILES += col32cb16blend_neon.S -PIXELFLINGER_SRC_FILES += col32cb16blend.S -else -PIXELFLINGER_SRC_FILES += t32cb16blend.S -PIXELFLINGER_SRC_FILES += col32cb16blend.S -endif +PIXELFLINGER_CFLAGS := -fstrict-aliasing -fomit-frame-pointer + +PIXELFLINGER_SRC_FILES_arm := \ + codeflinger/ARMAssembler.cpp \ + codeflinger/disassem.c \ + col32cb16blend.S \ + t32cb16blend.S \ + +ifeq ($(ARCH_ARM_HAVE_NEON),armv7-a) +PIXELFLINGER_SRC_FILES_arm += col32cb16blend_neon.S endif -ifeq ($(TARGET_ARCH),arm) -PIXELFLINGER_SRC_FILES += codeflinger/ARMAssembler.cpp -PIXELFLINGER_SRC_FILES += codeflinger/disassem.c -# special optimization flags for pixelflinger -PIXELFLINGER_CFLAGS += -fstrict-aliasing -fomit-frame-pointer -endif +PIXELFLINGER_SRC_FILES_arm64 := \ + codeflinger/Arm64Assembler.cpp \ + codeflinger/Arm64Disassembler.cpp \ + arch-arm64/col32cb16blend.S \ + arch-arm64/t32cb16blend.S \ -ifeq ($(TARGET_ARCH),mips) -PIXELFLINGER_SRC_FILES += codeflinger/MIPSAssembler.cpp -PIXELFLINGER_SRC_FILES += codeflinger/mips_disassem.c -PIXELFLINGER_SRC_FILES += arch-mips/t32cb16blend.S -PIXELFLINGER_CFLAGS += -fstrict-aliasing -fomit-frame-pointer -endif - -LOCAL_SHARED_LIBRARIES := libcutils liblog - -ifeq ($(TARGET_ARCH),arm64) -PIXELFLINGER_SRC_FILES += arch-arm64/t32cb16blend.S -PIXELFLINGER_SRC_FILES += arch-arm64/col32cb16blend.S -PIXELFLINGER_SRC_FILES += codeflinger/Arm64Assembler.cpp -PIXELFLINGER_SRC_FILES += codeflinger/Arm64Disassembler.cpp -PIXELFLINGER_CFLAGS += -fstrict-aliasing -fomit-frame-pointer -endif +PIXELFLINGER_SRC_FILES_mips := \ + codeflinger/MIPSAssembler.cpp \ + codeflinger/mips_disassem.c \ + arch-mips/t32cb16blend.S \ # # Shared library @@ -66,7 +55,11 @@ endif LOCAL_MODULE:= libpixelflinger LOCAL_SRC_FILES := $(PIXELFLINGER_SRC_FILES) +LOCAL_SRC_FILES_arm := $(PIXELFLINGER_SRC_FILES_arm) +LOCAL_SRC_FILES_arm64 := $(PIXELFLINGER_SRC_FILES_arm64) +LOCAL_SRC_FILES_mips := $(PIXELFLINGER_SRC_FILES_mips) LOCAL_CFLAGS := $(PIXELFLINGER_CFLAGS) +LOCAL_SHARED_LIBRARIES := libcutils liblog ifneq ($(BUILD_TINY_ANDROID),true) # Really this should go away entirely or at least not depend on @@ -83,6 +76,9 @@ include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE:= libpixelflinger_static LOCAL_SRC_FILES := $(PIXELFLINGER_SRC_FILES) +LOCAL_SRC_FILES_arm := $(PIXELFLINGER_SRC_FILES_arm) +LOCAL_SRC_FILES_arm64 := $(PIXELFLINGER_SRC_FILES_arm64) +LOCAL_SRC_FILES_mips := $(PIXELFLINGER_SRC_FILES_mips) LOCAL_CFLAGS := $(PIXELFLINGER_CFLAGS) include $(BUILD_STATIC_LIBRARY)