From 0fbb5849aece773954afb5c25ff805d71b98a6fd Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sat, 4 Nov 2017 22:45:35 -0700 Subject: [PATCH] Fixed building mpg123 on Android x86_64 and mips architectures --- external/mpg123-1.25.6.patch | 70 ++++++++++++++++++++++++++++++- external/mpg123-1.25.6/Android.mk | 66 +++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+), 2 deletions(-) diff --git a/external/mpg123-1.25.6.patch b/external/mpg123-1.25.6.patch index 518dc829..6f2de863 100644 --- a/external/mpg123-1.25.6.patch +++ b/external/mpg123-1.25.6.patch @@ -1927,8 +1927,8 @@ diff -ruN mpg123-1.25.6.orig/android/mpg123.h mpg123-1.25.6/android/mpg123.h +#endif diff -ruN mpg123-1.25.6.orig/Android.mk mpg123-1.25.6/Android.mk --- mpg123-1.25.6.orig/Android.mk 1969-12-31 16:00:00.000000000 -0800 -+++ mpg123-1.25.6/Android.mk 2017-11-02 10:11:23.366221713 -0700 -@@ -0,0 +1,115 @@ ++++ mpg123-1.25.6/Android.mk 2017-11-04 22:43:44.473949961 -0700 +@@ -0,0 +1,181 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) @@ -2004,6 +2004,60 @@ diff -ruN mpg123-1.25.6.orig/Android.mk mpg123-1.25.6/Android.mk + src/libmpg123/dither.c \ + src/libmpg123/feature.c \ + ++DECODER_CFLAGS_X64 := -DOPT_MULTI -DOPT_X86_64 -DOPT_GENERIC -DOPT_GENERIC_DITHER -DREAL_IS_FLOAT -DOPT_AVX ++ ++DECODER_SRC_X64 := \ ++ src/libmpg123/stringbuf.c \ ++ src/libmpg123/icy.c \ ++ src/libmpg123/icy.h \ ++ src/libmpg123/icy2utf8.c \ ++ src/libmpg123/icy2utf8.h \ ++ src/libmpg123/ntom.c \ ++ src/libmpg123/synth.c \ ++ src/libmpg123/synth.h \ ++ src/libmpg123/synth_8bit.c \ ++ src/libmpg123/synth_8bit.h \ ++ src/libmpg123/layer1.c \ ++ src/libmpg123/layer2.c \ ++ src/libmpg123/layer3.c \ ++ src/libmpg123/synth_s32.c \ ++ src/libmpg123/synth_real.c \ ++ src/libmpg123/dct36_x86_64.S \ ++ src/libmpg123/dct64_x86_64_float.S \ ++ src/libmpg123/synth_x86_64_float.S \ ++ src/libmpg123/synth_x86_64_s32.S \ ++ src/libmpg123/synth_stereo_x86_64_float.S \ ++ src/libmpg123/synth_stereo_x86_64_s32.S \ ++ src/libmpg123/synth_x86_64.S \ ++ src/libmpg123/dct64_x86_64.S \ ++ src/libmpg123/synth_stereo_x86_64.S \ ++ src/libmpg123/dither.c \ ++ src/libmpg123/dither.h \ ++ src/libmpg123/getcpuflags_x86_64.S \ ++ src/libmpg123/dct36_avx.S \ ++ src/libmpg123/dct64_avx_float.S \ ++ src/libmpg123/synth_stereo_avx_float.S \ ++ src/libmpg123/synth_stereo_avx_s32.S \ ++ src/libmpg123/dct64_avx.S \ ++ src/libmpg123/synth_stereo_avx.S \ ++ src/libmpg123/feature.c ++ ++DECODER_CFLAGS_MIPS := -DOPT_GENERIC -DREAL_IS_FLOAT ++ ++DECODER_SRC_MIPS := \ ++ src/libmpg123/stringbuf.c \ ++ src/libmpg123/icy.c \ ++ src/libmpg123/icy2utf8.c \ ++ src/libmpg123/ntom.c \ ++ src/libmpg123/synth.c \ ++ src/libmpg123/synth_8bit.c \ ++ src/libmpg123/layer1.c \ ++ src/libmpg123/layer2.c \ ++ src/libmpg123/layer3.c \ ++ src/libmpg123/synth_s32.c \ ++ src/libmpg123/synth_real.c \ ++ src/libmpg123/feature.c ++ +ifeq ($(TARGET_ARCH_ABI),armeabi) +DECODER_CFLAGS := $(DECODER_CFLAGS_NEON) +DECODER_SRC := $(DECODER_SRC_NEON) @@ -2016,6 +2070,18 @@ diff -ruN mpg123-1.25.6.orig/Android.mk mpg123-1.25.6/Android.mk +DECODER_CFLAGS := $(DECODER_CFLAGS_X86) +DECODER_SRC := $(DECODER_SRC_X86) +endif ++ifeq ($(TARGET_ARCH_ABI),x86_64) ++DECODER_CFLAGS := $(DECODER_CFLAGS_X64) ++DECODER_SRC := $(DECODER_SRC_X64) ++endif ++ifeq ($(TARGET_ARCH_ABI),mips) ++DECODER_CFLAGS := $(DECODER_CFLAGS_MIPS) ++DECODER_SRC := $(DECODER_SRC_MIPS) ++endif ++ifeq ($(TARGET_ARCH_ABI),mips64) ++DECODER_CFLAGS := $(DECODER_CFLAGS_MIPS) ++DECODER_SRC := $(DECODER_SRC_MIPS) ++endif + +LOCAL_CFLAGS := $(DECODER_CFLAGS) + diff --git a/external/mpg123-1.25.6/Android.mk b/external/mpg123-1.25.6/Android.mk index c253316d..f379899d 100644 --- a/external/mpg123-1.25.6/Android.mk +++ b/external/mpg123-1.25.6/Android.mk @@ -73,6 +73,60 @@ DECODER_SRC_X86 := \ src/libmpg123/dither.c \ src/libmpg123/feature.c \ +DECODER_CFLAGS_X64 := -DOPT_MULTI -DOPT_X86_64 -DOPT_GENERIC -DOPT_GENERIC_DITHER -DREAL_IS_FLOAT -DOPT_AVX + +DECODER_SRC_X64 := \ + src/libmpg123/stringbuf.c \ + src/libmpg123/icy.c \ + src/libmpg123/icy.h \ + src/libmpg123/icy2utf8.c \ + src/libmpg123/icy2utf8.h \ + src/libmpg123/ntom.c \ + src/libmpg123/synth.c \ + src/libmpg123/synth.h \ + src/libmpg123/synth_8bit.c \ + src/libmpg123/synth_8bit.h \ + src/libmpg123/layer1.c \ + src/libmpg123/layer2.c \ + src/libmpg123/layer3.c \ + src/libmpg123/synth_s32.c \ + src/libmpg123/synth_real.c \ + src/libmpg123/dct36_x86_64.S \ + src/libmpg123/dct64_x86_64_float.S \ + src/libmpg123/synth_x86_64_float.S \ + src/libmpg123/synth_x86_64_s32.S \ + src/libmpg123/synth_stereo_x86_64_float.S \ + src/libmpg123/synth_stereo_x86_64_s32.S \ + src/libmpg123/synth_x86_64.S \ + src/libmpg123/dct64_x86_64.S \ + src/libmpg123/synth_stereo_x86_64.S \ + src/libmpg123/dither.c \ + src/libmpg123/dither.h \ + src/libmpg123/getcpuflags_x86_64.S \ + src/libmpg123/dct36_avx.S \ + src/libmpg123/dct64_avx_float.S \ + src/libmpg123/synth_stereo_avx_float.S \ + src/libmpg123/synth_stereo_avx_s32.S \ + src/libmpg123/dct64_avx.S \ + src/libmpg123/synth_stereo_avx.S \ + src/libmpg123/feature.c + +DECODER_CFLAGS_MIPS := -DOPT_GENERIC -DREAL_IS_FLOAT + +DECODER_SRC_MIPS := \ + src/libmpg123/stringbuf.c \ + src/libmpg123/icy.c \ + src/libmpg123/icy2utf8.c \ + src/libmpg123/ntom.c \ + src/libmpg123/synth.c \ + src/libmpg123/synth_8bit.c \ + src/libmpg123/layer1.c \ + src/libmpg123/layer2.c \ + src/libmpg123/layer3.c \ + src/libmpg123/synth_s32.c \ + src/libmpg123/synth_real.c \ + src/libmpg123/feature.c + ifeq ($(TARGET_ARCH_ABI),armeabi) DECODER_CFLAGS := $(DECODER_CFLAGS_NEON) DECODER_SRC := $(DECODER_SRC_NEON) @@ -85,6 +139,18 @@ ifeq ($(TARGET_ARCH_ABI),x86) DECODER_CFLAGS := $(DECODER_CFLAGS_X86) DECODER_SRC := $(DECODER_SRC_X86) endif +ifeq ($(TARGET_ARCH_ABI),x86_64) +DECODER_CFLAGS := $(DECODER_CFLAGS_X64) +DECODER_SRC := $(DECODER_SRC_X64) +endif +ifeq ($(TARGET_ARCH_ABI),mips) +DECODER_CFLAGS := $(DECODER_CFLAGS_MIPS) +DECODER_SRC := $(DECODER_SRC_MIPS) +endif +ifeq ($(TARGET_ARCH_ABI),mips64) +DECODER_CFLAGS := $(DECODER_CFLAGS_MIPS) +DECODER_SRC := $(DECODER_SRC_MIPS) +endif LOCAL_CFLAGS := $(DECODER_CFLAGS)