From 0d3333a3e1657584b40d1ea513124d4053a09581 Mon Sep 17 00:00:00 2001 From: Matt McCormick Date: Wed, 16 Nov 2016 15:14:17 -0500 Subject: [PATCH 1/2] android-arm: Add CMake 3.7 toolchain file support See: https://cmake.org/cmake/help/v3.7/manual/cmake-toolchains.7.html#cross-compiling-for-android-with-a-standalone-toolchain --- android-arm/Toolchain.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/android-arm/Toolchain.cmake b/android-arm/Toolchain.cmake index 7b33081..713fffa 100644 --- a/android-arm/Toolchain.cmake +++ b/android-arm/Toolchain.cmake @@ -2,6 +2,9 @@ set(CMAKE_SYSTEM_NAME Android) set(CMAKE_SYSTEM_VERSION 1) set(cross_triple arm-linux-androideabi) +set(CMAKE_ANDROID_STANDALONE_TOOLCHAIN /usr/${cross_triple}/) +set(CMAKE_ANDROID_ARM_MODE 1) +set(CMAKE_ANDROID_ARM_NEON 1) set(CMAKE_C_COMPILER /usr/${cross_triple}/bin/${cross_triple}-gcc) set(CMAKE_CXX_COMPILER /usr/${cross_triple}/bin/${cross_triple}-g++) From a138f60ab627d8567b424ebdef3b9381330c91d0 Mon Sep 17 00:00:00 2001 From: Matt McCormick Date: Wed, 16 Nov 2016 15:46:14 -0500 Subject: [PATCH 2/2] android-arm: Update NDK to 13b and API to 16 API level 16 still covers the majority of systems: https://developer.android.com/about/dashboards/index.html https://developer.android.com/ndk/guides/stable_apis.html --- android-arm/Dockerfile | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/android-arm/Dockerfile b/android-arm/Dockerfile index 9d7a589..d4e9e29 100644 --- a/android-arm/Dockerfile +++ b/android-arm/Dockerfile @@ -4,7 +4,8 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com" # The cross-compiling emulator RUN apt-get update && apt-get install -y \ qemu-user \ - qemu-user-static + qemu-user-static \ + unzip ENV CROSS_TRIPLE=arm-linux-androideabi ENV CROSS_ROOT=/usr/${CROSS_TRIPLE} @@ -15,18 +16,15 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \ LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld -ENV ANDROID_NDK_REVISION 10e +ENV ANDROID_NDK_REVISION 13b RUN mkdir -p /build && \ cd /build && \ - curl -O http://dl.google.com/android/ndk/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.bin && \ - chmod +x ./android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.bin && \ - ./android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.bin && \ - cd /build/android-ndk-r${ANDROID_NDK_REVISION} && \ - /bin/bash ./build/tools/make-standalone-toolchain.sh \ - --arch=arm \ - --system=linux-x86_64 \ - --ndk-dir=/build/android-ndk-r${ANDROID_NDK_REVISION} \ - --platform=android-14 \ + curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip && \ + unzip ./android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip && \ + cd android-ndk-r${ANDROID_NDK_REVISION} && \ + ./build/tools/make_standalone_toolchain.py \ + --arch arm \ + --api 16 \ --install-dir=${CROSS_ROOT} && \ cd / && \ rm -rf /build && \