diff --git a/android/jni/Android.mk b/android/jni/Android.mk index a4cdbbaa34..365b03b47f 100644 --- a/android/jni/Android.mk +++ b/android/jni/Android.mk @@ -31,6 +31,26 @@ ARCH_FILES := \ $(SRC)/GPU/Common/VertexDecoderX86.cpp endif +ifeq ($(TARGET_ARCH_ABI),x86_64) +ARCH_FILES := \ + $(SRC)/Common/ABI.cpp \ + $(SRC)/Common/x64Emitter.cpp \ + $(SRC)/Common/CPUDetect.cpp \ + $(SRC)/Common/Thunk.cpp \ + $(SRC)/Core/MIPS/x86/CompALU.cpp \ + $(SRC)/Core/MIPS/x86/CompBranch.cpp \ + $(SRC)/Core/MIPS/x86/CompFPU.cpp \ + $(SRC)/Core/MIPS/x86/CompLoadStore.cpp \ + $(SRC)/Core/MIPS/x86/CompVFPU.cpp \ + $(SRC)/Core/MIPS/x86/CompReplace.cpp \ + $(SRC)/Core/MIPS/x86/Asm.cpp \ + $(SRC)/Core/MIPS/x86/Jit.cpp \ + $(SRC)/Core/MIPS/x86/JitSafeMem.cpp \ + $(SRC)/Core/MIPS/x86/RegCache.cpp \ + $(SRC)/Core/MIPS/x86/RegCacheFPU.cpp \ + $(SRC)/GPU/Common/VertexDecoderX86.cpp +endif + ifeq ($(findstring armeabi-v7a,$(TARGET_ARCH_ABI)),armeabi-v7a) ARCH_FILES := \ $(SRC)/GPU/Common/TextureDecoderNEON.cpp.neon \ diff --git a/android/jni/Application.mk b/android/jni/Application.mk index 2700b54041..85f2502981 100644 --- a/android/jni/Application.mk +++ b/android/jni/Application.mk @@ -1,5 +1,5 @@ APP_STL := gnustl_static APP_PLATFORM := android-9 -APP_ABI := arm64-v8a armeabi-v7a x86 +APP_ABI := arm64-v8a armeabi-v7a x86 x86_64 APP_GNUSTL_CPP_FEATURES := -# NDK_TOOLCHAIN_VERSION := 4.9 +NDK_TOOLCHAIN_VERSION := 4.9 diff --git a/android/jni/Locals.mk b/android/jni/Locals.mk index 1e566d3298..327f81c1b4 100644 --- a/android/jni/Locals.mk +++ b/android/jni/Locals.mk @@ -48,6 +48,18 @@ ifeq ($(TARGET_ARCH_ABI),x86) LOCAL_CFLAGS := $(LOCAL_CFLAGS) -D_ARCH_32 -D_M_IX86 -fomit-frame-pointer -mtune=atom -mfpmath=sse -mssse3 -mstackrealign endif + +ifeq ($(TARGET_ARCH_ABI),x86_64) + LOCAL_LDLIBS += $(LOCAL_PATH)/../../ffmpeg/android/x86_64/lib/libavformat.a + LOCAL_LDLIBS += $(LOCAL_PATH)/../../ffmpeg/android/x86_64/lib/libavcodec.a + LOCAL_LDLIBS += $(LOCAL_PATH)/../../ffmpeg/android/x86_64/lib/libswresample.a + LOCAL_LDLIBS += $(LOCAL_PATH)/../../ffmpeg/android/x86_64/lib/libswscale.a + LOCAL_LDLIBS += $(LOCAL_PATH)/../../ffmpeg/android/x86_64/lib/libavutil.a + LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../ffmpeg/android/x86_64/include + + LOCAL_CFLAGS := $(LOCAL_CFLAGS) -D_ARCH_64 -D_M_X64 -fomit-frame-pointer -mtune=atom -mfpmath=sse -mssse3 -mstackrealign +endif + ifeq ($(TARGET_ARCH_ABI),arm64-v8a) LOCAL_LDLIBS += $(LOCAL_PATH)/../../ffmpeg/android/arm64/lib/libavformat.a LOCAL_LDLIBS += $(LOCAL_PATH)/../../ffmpeg/android/arm64/lib/libavcodec.a diff --git a/ext/native/Android.mk b/ext/native/Android.mk index 74dcec3855..28542deac3 100644 --- a/ext/native/Android.mk +++ b/ext/native/Android.mk @@ -113,6 +113,10 @@ else ifeq ($(TARGET_ARCH_ABI),arm64-v8a) LOCAL_CFLAGS := $(LOCAL_CFLAGS) -D_ARCH_64 -DARM64 else ifeq ($(TARGET_ARCH_ABI),x86) LOCAL_CFLAGS := $(LOCAL_CFLAGS) -D_M_IX86 +LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \ + math/fast/fast_matrix_sse.c +else ifeq ($(TARGET_ARCH_ABI),x86_64) +LOCAL_CFLAGS := $(LOCAL_CFLAGS) -D_M_X64 LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \ math/fast/fast_matrix_sse.c endif