Index: Makefile.android |
diff --git a/Makefile.android b/Makefile.android |
index fad5fe9943aa7b594c7b16f8da463ad3a3588e52..ea2c6e284bd9a1b6f7d633cc2b8faf93f9f9f7e4 100644 |
--- a/Makefile.android |
+++ b/Makefile.android |
@@ -26,7 +26,7 @@ |
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
# Those definitions should be consistent with the main Makefile |
-ANDROID_ARCHES = android_ia32 android_arm android_mipsel |
+ANDROID_ARCHES = android_ia32 android_arm android_a64 android_mipsel |
MODES = release debug |
# Generates all combinations of ANDROID ARCHES and MODES, |
@@ -49,24 +49,40 @@ endif |
ifeq ($(ARCH), android_arm) |
DEFINES = target_arch=arm v8_target_arch=arm android_target_arch=arm |
DEFINES += arm_neon=0 arm_version=7 |
- TOOLCHAIN_ARCH = arm-linux-androideabi-4.6 |
+ TOOLCHAIN_ARCH = arm-linux-androideabi |
+ TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) |
+ TOOLCHAIN_VER = 4.6 |
else |
- ifeq ($(ARCH), android_mipsel) |
- DEFINES = target_arch=mipsel v8_target_arch=mipsel android_target_arch=mips |
- DEFINES += mips_arch_variant=mips32r2 |
- TOOLCHAIN_ARCH = mipsel-linux-android-4.6 |
+ ifeq ($(ARCH), android_a64) |
+ DEFINES = target_arch=a64 v8_target_arch=a64 android_target_arch=arm64 |
+ TOOLCHAIN_ARCH = aarch64-linux-android |
+ TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) |
+ TOOLCHAIN_VER = 4.8 |
else |
- ifeq ($(ARCH), android_ia32) |
- DEFINES = target_arch=ia32 v8_target_arch=ia32 android_target_arch=x86 |
- TOOLCHAIN_ARCH = x86-4.6 |
+ ifeq ($(ARCH), android_mipsel) |
+ DEFINES = target_arch=mipsel v8_target_arch=mipsel |
+ DEFINES += android_target_arch=mips mips_arch_variant=mips32r2 |
+ TOOLCHAIN_ARCH = mipsel-linux-android |
+ TOOLCHAIN_PREFIX = $(TOOLCHAIN_ARCH) |
+ TOOLCHAIN_VER = 4.6 |
+ |
else |
- $(error Target architecture "${ARCH}" is not supported) |
+ ifeq ($(ARCH), android_ia32) |
+ DEFINES = target_arch=ia32 v8_target_arch=ia32 android_target_arch=x86 |
+ TOOLCHAIN_ARCH = x86 |
+ TOOLCHAIN_PREFIX = i686-linux-android |
+ TOOLCHAIN_VER = 4.6 |
+ else |
+ $(error Target architecture "${ARCH}" is not supported) |
+ endif |
endif |
endif |
endif |
-TOOLCHAIN_PATH = ${ANDROID_NDK_ROOT}/toolchains/${TOOLCHAIN_ARCH}/prebuilt |
+TOOLCHAIN_PATH = \ |
+ ${ANDROID_NDK_ROOT}/toolchains/${TOOLCHAIN_ARCH}-${TOOLCHAIN_VER}/prebuilt |
ANDROID_TOOLCHAIN ?= ${TOOLCHAIN_PATH}/${TOOLCHAIN_DIR} |
+ |
ifeq ($(wildcard $(ANDROID_TOOLCHAIN)),) |
$(error Cannot find Android toolchain in "${ANDROID_TOOLCHAIN}". Please \ |
check that ANDROID_NDK_ROOT and ANDROID_NDK_HOST_ARCH are set \ |
@@ -79,23 +95,23 @@ DEFINES += host_os=${HOST_OS} |
.SECONDEXPANSION: |
$(ANDROID_BUILDS): $(OUTDIR)/Makefile.$$@ |
@$(MAKE) -C "$(OUTDIR)" -f Makefile.$@ \ |
- CXX="$(ANDROID_TOOLCHAIN)/bin/*-g++" \ |
- AR="$(ANDROID_TOOLCHAIN)/bin/*-ar" \ |
- RANLIB="$(ANDROID_TOOLCHAIN)/bin/*-ranlib" \ |
- CC="$(ANDROID_TOOLCHAIN)/bin/*-gcc" \ |
- LD="$(ANDROID_TOOLCHAIN)/bin/*-ld" \ |
- LINK="$(ANDROID_TOOLCHAIN)/bin/*-g++" \ |
- BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \ |
- python -c "print raw_input().capitalize()") \ |
- builddir="$(shell pwd)/$(OUTDIR)/$@" |
+ CXX="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-g++" \ |
+ AR="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-ar" \ |
+ RANLIB="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-ranlib" \ |
+ CC="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-gcc" \ |
+ LD="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-ld" \ |
+ LINK="$(ANDROID_TOOLCHAIN)/bin/${TOOLCHAIN_PREFIX}-g++" \ |
+ BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \ |
+ python -c "print raw_input().capitalize()") \ |
+ builddir="$(shell pwd)/$(OUTDIR)/$@" |
# Android GYP file generation targets. |
ANDROID_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ANDROID_BUILDS)) |
$(ANDROID_MAKEFILES): |
GYP_GENERATORS=make-android \ |
GYP_DEFINES="${DEFINES}" \ |
- CC="${ANDROID_TOOLCHAIN}/bin/*-gcc" \ |
- CXX="${ANDROID_TOOLCHAIN}/bin/*-g++" \ |
+ CC="${ANDROID_TOOLCHAIN}/bin/${TOOLCHAIN_PREFIX}-gcc" \ |
+ CXX="${ANDROID_TOOLCHAIN}/bin/${TOOLCHAIN_PREFIX}-g++" \ |
PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(PYTHONPATH)" \ |
build/gyp/gyp --generator-output="${OUTDIR}" build/all.gyp \ |
-Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \ |