diff options
author | Colin Cross <ccross@android.com> | 2016-12-03 07:16:03 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-12-03 07:16:03 +0000 |
commit | 0a0ab0e29aee1d0edab55f591d9e1c8fd474f0e7 (patch) | |
tree | d889472c2ca00276005885ee9033d99fe0a1175c | |
parent | 9d4858f02542f29b2bcc99bae77262d732082a6f (diff) | |
parent | d029679dea6e50810ea7abc4199971efe0a8b5e7 (diff) | |
download | libjpeg-turbo-0a0ab0e29aee1d0edab55f591d9e1c8fd474f0e7.tar.gz |
Convert libjpeg-turbo to Android.bp
am: d029679dea
Change-Id: Iecc4acc6f77e1a6c0d97c24725592813cf9ddc38
-rw-r--r-- | Android.bp | 221 | ||||
-rw-r--r-- | Android.mk | 178 |
2 files changed, 221 insertions, 178 deletions
diff --git a/Android.bp b/Android.bp new file mode 100644 index 00000000..55cfaa26 --- /dev/null +++ b/Android.bp @@ -0,0 +1,221 @@ +// Set up common variables for usage across the libjpeg-turbo modules + +cc_defaults { + name: "libjpeg-defaults", + cflags: [ + "-O3", + "-fstrict-aliasing", + + "-Wno-unused-parameter", + "-Werror", + ], + srcs: [ + "jcapimin.c", + "jcapistd.c", + "jccoefct.c", + "jccolor.c", + "jcdctmgr.c", + "jchuff.c", + "jcinit.c", + "jcmainct.c", + "jcmarker.c", + "jcmaster.c", + "jcomapi.c", + "jcparam.c", + "jcphuff.c", + "jcprepct.c", + "jcsample.c", + "jctrans.c", + "jdapimin.c", + "jdapistd.c", + "jdatadst.c", + "jdatasrc.c", + "jdcoefct.c", + "jdcolor.c", + "jddctmgr.c", + "jdhuff.c", + "jdinput.c", + "jdmainct.c", + "jdmarker.c", + "jdmaster.c", + "jdmerge.c", + "jdphuff.c", + "jdpostct.c", + "jdsample.c", + "jdtrans.c", + "jerror.c", + "jfdctflt.c", + "jfdctfst.c", + "jfdctint.c", + "jidctflt.c", + "jidctfst.c", + "jidctint.c", + "jidctred.c", + "jmemmgr.c", + "jmemnobs.c", + "jquant1.c", + "jquant2.c", + "jutils.c", + ], + + arch: { + arm: { + // By default, the build system generates ARM target binaries in + // thumb mode, where each instruction is 16 bits wide. Defining + // this variable as arm forces the build system to generate object + // files in 32-bit arm mode. This is the same setting previously + // used by libjpeg and it provides a small performance benefit. + instruction_set: "arm", + // ARM v7 NEON + srcs: [ + "simd/jsimd_arm_neon.S", + "simd/jsimd_arm.c", + ], + armv7_a_neon: { + // If we are certain that the ARM v7 device has NEON (and there + // is no need for a runtime check), we can indicate that with a + // flag. + cflags: ["-D__ARM_HAVE_NEON__"], + }, + }, + arm64: { + // ARM v8 64-bit NEON + srcs: [ + "simd/jsimd_arm64_neon.S", + "simd/jsimd_arm64.c", + ], + }, + x86: { + // x86 MMX and SSE2 + srcs: [ + "simd/jsimd_i386.c", + "simd/jccolor-mmx.asm", + "simd/jccolor-sse2.asm", + "simd/jcgray-mmx.asm", + "simd/jcgray-sse2.asm", + "simd/jchuff-sse2.asm", + "simd/jcsample-mmx.asm", + "simd/jcsample-sse2.asm", + "simd/jdcolor-mmx.asm", + "simd/jdcolor-sse2.asm", + "simd/jdmerge-mmx.asm", + "simd/jdmerge-sse2.asm", + "simd/jdsample-mmx.asm", + "simd/jdsample-sse2.asm", + "simd/jfdctflt-3dn.asm", + "simd/jfdctflt-sse.asm", + "simd/jfdctfst-mmx.asm", + "simd/jfdctfst-sse2.asm", + "simd/jfdctint-mmx.asm", + "simd/jfdctint-sse2.asm", + "simd/jidctflt-3dn.asm", + "simd/jidctflt-sse2.asm", + "simd/jidctflt-sse.asm", + "simd/jidctfst-mmx.asm", + "simd/jidctfst-sse2.asm", + "simd/jidctint-mmx.asm", + "simd/jidctint-sse2.asm", + "simd/jidctred-mmx.asm", + "simd/jidctred-sse2.asm", + "simd/jquant-3dn.asm", + "simd/jquantf-sse2.asm", + "simd/jquanti-sse2.asm", + "simd/jquant-mmx.asm", + "simd/jquant-sse.asm", + "simd/jsimdcpu.asm", + ], + asflags: [ + "-DPIC", + "-DELF", + ], + local_include_dirs: ["simd"], + }, + x86_64: { + // x86-64 SSE2 + srcs: [ + "simd/jsimd_x86_64.c", + "simd/jccolor-sse2-64.asm", + "simd/jcgray-sse2-64.asm", + "simd/jchuff-sse2-64.asm", + "simd/jcsample-sse2-64.asm", + "simd/jdcolor-sse2-64.asm", + "simd/jdmerge-sse2-64.asm", + "simd/jdsample-sse2-64.asm", + "simd/jfdctflt-sse-64.asm", + "simd/jfdctfst-sse2-64.asm", + "simd/jfdctint-sse2-64.asm", + "simd/jidctflt-sse2-64.asm", + "simd/jidctfst-sse2-64.asm", + "simd/jidctint-sse2-64.asm", + "simd/jidctred-sse2-64.asm", + "simd/jquantf-sse2-64.asm", + "simd/jquanti-sse2-64.asm", + ], + asflags: [ + "-D__x86_64__", + "-DPIC", + "-DELF", + ], + local_include_dirs: ["simd"], + }, + mips: { + srcs: ["jsimd_none.c"], + }, + mips64: { + srcs: ["jsimd_none.c"], + }, + }, +} + +// Also build as a shared library. +cc_library { + name: "libjpeg", + defaults: ["libjpeg-defaults"], + export_include_dirs: ["."], +} + +// Build static library against the NDK +cc_library_static { + name: "libjpeg_static_ndk", + defaults: ["libjpeg-defaults"], + export_include_dirs: ["."], + sdk_version: "17", +} + +// Definition for TJBench +cc_binary { + name: "tjbench", + + whole_static_libs: ["libjpeg"], + + multilib: { + lib32: { + stem: "tj32", + }, + lib64: { + stem: "tj64", + }, + }, + + compile_multilib: "both", + + cflags: [ + "-DBMP_SUPPORTED", + "-DPPM_SUPPORTED", + "-Wno-unused-parameter", + ], + + srcs: [ + "tjbench.c", + "bmp.c", + "tjutil.c", + "rdbmp.c", + "rdppm.c", + "wrbmp.c", + "wrppm.c", + "turbojpeg.c", + "transupp.c", + "jdatadst-tj.c", + "jdatasrc-tj.c", + ], +} diff --git a/Android.mk b/Android.mk deleted file mode 100644 index 3c3ff52e..00000000 --- a/Android.mk +++ /dev/null @@ -1,178 +0,0 @@ -LOCAL_PATH:= $(call my-dir) - -# Set up common variables for usage across the libjpeg-turbo modules - -# By default, the build system generates ARM target binaries in thumb mode, -# where each instruction is 16 bits wide. Defining this variable as arm -# forces the build system to generate object files in 32-bit arm mode. This -# is the same setting previously used by libjpeg and it provides a small -# performance benefit. -libjpeg_turbo_common_arm_mode := arm - -libjpeg_turbo_common_cflags := -O3 -fstrict-aliasing -libjpeg_turbo_common_cflags += -Wno-unused-parameter -Werror - -# If we are certain that the ARM v7 device has NEON (and there is no need for -# a runtime check), we can indicate that with a flag. -ifeq ($(strip $(TARGET_ARCH)),arm) - ifeq ($(ARCH_ARM_HAVE_NEON),true) - libjpeg_turbo_common_cflags += -D__ARM_HAVE_NEON__ - endif -endif - -libjpeg_turbo_common_src_files := \ - jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c \ - jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c jcparam.c \ - jcphuff.c jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c \ - jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c \ - jdinput.c jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdphuff.c \ - jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c jfdctfst.c \ - jfdctint.c jidctflt.c jidctfst.c jidctint.c jidctred.c jmemmgr.c \ - jmemnobs.c jquant1.c jquant2.c jutils.c - -# ARM v7 NEON -libjpeg_turbo_common_src_files_arm := simd/jsimd_arm_neon.S simd/jsimd_arm.c - -# ARM v8 64-bit NEON -libjpeg_turbo_common_src_files_arm64 := simd/jsimd_arm64_neon.S simd/jsimd_arm64.c - -# x86 MMX and SSE2 -libjpeg_turbo_common_src_files_x86 := \ - simd/jsimd_i386.c simd/jccolor-mmx.asm simd/jccolor-sse2.asm \ - simd/jcgray-mmx.asm simd/jcgray-sse2.asm simd/jchuff-sse2.asm \ - simd/jcsample-mmx.asm simd/jcsample-sse2.asm simd/jdcolor-mmx.asm \ - simd/jdcolor-sse2.asm simd/jdmerge-mmx.asm simd/jdmerge-sse2.asm \ - simd/jdsample-mmx.asm simd/jdsample-sse2.asm simd/jfdctflt-3dn.asm \ - simd/jfdctflt-sse.asm simd/jfdctfst-mmx.asm simd/jfdctfst-sse2.asm \ - simd/jfdctint-mmx.asm simd/jfdctint-sse2.asm simd/jidctflt-3dn.asm \ - simd/jidctflt-sse2.asm simd/jidctflt-sse.asm simd/jidctfst-mmx.asm \ - simd/jidctfst-sse2.asm simd/jidctint-mmx.asm simd/jidctint-sse2.asm \ - simd/jidctred-mmx.asm simd/jidctred-sse2.asm simd/jquant-3dn.asm \ - simd/jquantf-sse2.asm simd/jquanti-sse2.asm simd/jquant-mmx.asm \ - simd/jquant-sse.asm simd/jsimdcpu.asm - -# x86-64 SSE2 -libjpeg_turbo_common_src_files_x86_64 := \ - simd/jsimd_x86_64.c simd/jccolor-sse2-64.asm simd/jcgray-sse2-64.asm \ - simd/jchuff-sse2-64.asm simd/jcsample-sse2-64.asm simd/jdcolor-sse2-64.asm \ - simd/jdmerge-sse2-64.asm simd/jdsample-sse2-64.asm simd/jfdctflt-sse-64.asm \ - simd/jfdctfst-sse2-64.asm simd/jfdctint-sse2-64.asm simd/jidctflt-sse2-64.asm \ - simd/jidctfst-sse2-64.asm simd/jidctint-sse2-64.asm simd/jidctred-sse2-64.asm \ - simd/jquantf-sse2-64.asm simd/jquanti-sse2-64.asm - -# MIPS and MIPS64 -libjpeg_turbo_common_src_files_mips := jsimd_none.c - -# Common ASFLAGS for x86/x86_64 -libjpeg_turbo_common_asflags := -DPIC -DELF - -include $(CLEAR_VARS) - -LOCAL_ARM_MODE := $(libjpeg_turbo_common_arm_mode) - -LOCAL_SRC_FILES := $(libjpeg_turbo_common_src_files) - -LOCAL_SRC_FILES_arm += $(libjpeg_turbo_common_src_files_arm) - -LOCAL_SRC_FILES_arm64 += $(libjpeg_turbo_common_src_files_arm64) - -LOCAL_SRC_FILES_x86 += $(libjpeg_turbo_common_src_files_x86) -LOCAL_ASFLAGS_x86 += $(libjpeg_turbo_common_asflags) -LOCAL_C_INCLUDES_x86 += $(LOCAL_PATH)/simd - -# x86-64 SSE2 -LOCAL_SRC_FILES_x86_64 += $(libjpeg_turbo_common_src_files_x86_64) -LOCAL_ASFLAGS_x86_64 += -D__x86_64__ $(libjpeg_turbo_common_asflags) -LOCAL_C_INCLUDES_x86_64 += $(LOCAL_PATH)/simd - -LOCAL_SRC_FILES_mips += $(libjpeg_turbo_common_src_files_mips) -LOCAL_SRC_FILES_mips64 += $(libjpeg_turbo_common_src_files_mips) - -LOCAL_CFLAGS += $(libjpeg_turbo_common_cflags) -LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) - -ifneq (,$(TARGET_BUILD_APPS)) - # Unbundled branch, built against NDK. - LOCAL_SDK_VERSION := 17 -endif - -# Build as a static library. -LOCAL_MODULE := libjpeg_static -include $(BUILD_STATIC_LIBRARY) - -# Also build as a shared library. -include $(CLEAR_VARS) - -ifneq (,$(TARGET_BUILD_APPS)) - # Unbundled branch, built against NDK. - LOCAL_SDK_VERSION := 17 -endif - -LOCAL_WHOLE_STATIC_LIBRARIES = libjpeg_static -LOCAL_MODULE := libjpeg -include $(BUILD_SHARED_LIBRARY) - - -# Build static library against the NDK -include $(CLEAR_VARS) - -LOCAL_ARM_MODE := $(libjpeg_turbo_common_arm_mode) - -LOCAL_SRC_FILES := $(libjpeg_turbo_common_src_files) - -LOCAL_SRC_FILES_arm += $(libjpeg_turbo_common_src_files_arm) - -LOCAL_SRC_FILES_arm64 += $(libjpeg_turbo_common_src_files_arm64) - -LOCAL_SRC_FILES_x86 += $(libjpeg_turbo_common_src_files_x86) - -LOCAL_ASFLAGS_x86 += $(libjpeg_turbo_common_asflags) -LOCAL_C_INCLUDES_x86 += $(LOCAL_PATH)/simd - -LOCAL_SRC_FILES_x86_64 += $(libjpeg_turbo_common_src_files_x86_64) -LOCAL_ASFLAGS_x86_64 += -D__x86_64__ $(libjpeg_turbo_common_asflags) -LOCAL_C_INCLUDES_x86_64 += $(LOCAL_PATH)/simd - -LOCAL_SRC_FILES_mips += $(libjpeg_turbo_common_src_files_mips) -LOCAL_SRC_FILES_mips64 += $(libjpeg_turbo_common_src_files_mips) - -LOCAL_CFLAGS += $(libjpeg_turbo_common_cflags) -LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) - -LOCAL_SDK_VERSION := 17 - -# Build as a static library. -LOCAL_MODULE := libjpeg_static_ndk -include $(BUILD_STATIC_LIBRARY) - -# Definition for TJBench -include $(CLEAR_VARS) - -LOCAL_MODULE := tjbench - -LOCAL_WHOLE_STATIC_LIBRARIES = libjpeg_static - -LOCAL_MODULE_STEM_32 := tj32 -LOCAL_MODULE_STEM_64 := tj64 - -LOCAL_MULTILIB := both - -LOCAL_CFLAGS += -DBMP_SUPPORTED -DPPM_SUPPORTED - -LOCAL_SRC_FILES := tjbench.c bmp.c tjutil.c rdbmp.c rdppm.c \ - wrbmp.c wrppm.c turbojpeg.c transupp.c jdatadst-tj.c \ - jdatasrc-tj.c - -include $(BUILD_EXECUTABLE) - -# Unset all created common variables -libjpeg_turbo_common_arm_mode := -libjpeg_turbo_common_src_files := -libjpeg_turbo_common_src_files_arm := -libjpeg_turbo_common_src_files_arm64 := -libjpeg_turbo_common_src_files_x86 := -libjpeg_turbo_common_src_files_x86_64 := -libjpeg_turbo_common_asflags := -libjpeg_turbo_common_src_files_mips := -libjpeg_turbo_common_cflags := - |