Sha256: 930abe5149ebf47943150bd66b5c3d5c6684c4d77c2413bfc677bc34f876e155
Contents?: true
Size: 1.95 KB
Versions: 2
Compression:
Stored size: 1.95 KB
Contents
#!/bin/bash set -eu ARCH="arm32" COMPILER="gcc" NDKDIR="/opt/android-ndk" DISABLE_NEON= usage() { cat << EOF Usage: $0 [OPTION]... -- [BENCHMARK_PROGRAM_ARG]... Build the libdeflate test programs for Android --arch=ARCH Architecture: arm32|arm64 (default: $ARCH) --compiler=COMPILER Compiler: gcc|clang (default: $COMPILER) --ndkdir=NDKDIR Android NDK directory (default: $NDKDIR) --disable-neon Disable NEON instructions EOF } if ! options=$(getopt -o '' \ -l 'arch:,compiler:,ndkdir:,disable-neon,help' -- "$@"); then usage exit 1 fi eval set -- "$options" while [ $# -gt 0 ]; do case "$1" in --arch) ARCH="$2" shift ;; --compiler) COMPILER="$2" shift ;; --ndkdir) NDKDIR="$2" shift ;; --disable-neon) DISABLE_NEON=1 ;; --help) usage exit 0 ;; --) shift break ;; *) echo 1>&2 "Unknown option \"$1\"" usage exit 1 esac shift done CFLAGS="-fPIC -pie" case "$ARCH" in arm|arm32|aarch32) GCC_TOOLCHAIN="arm-linux-androideabi-4.9" CLANG_TARGET="armv7-none-linux-androideabi" if [ -n "$DISABLE_NEON" ]; then CFLAGS+=" -march=armv6" else CFLAGS+=" -march=armv7-a -mfpu=neon -mfloat-abi=softfp" fi CFLAGS+=" --sysroot=\"$NDKDIR/platforms/android-12/arch-arm\"" ;; arm64|aarch64) GCC_TOOLCHAIN="aarch64-linux-android-4.9" CLANG_TARGET="aarch64-none-linux-android" CFLAGS+=" --sysroot=\"$NDKDIR/platforms/android-21/arch-arm64\"" ;; *) echo 1>&2 "Unknown architecture: \"$ARCH\"" usage exit 1 esac case "$COMPILER" in gcc) CC="\"$NDKDIR/toolchains/$GCC_TOOLCHAIN/prebuilt/linux-x86_64/bin/${GCC_TOOLCHAIN%-*}-gcc\"" CFLAGS+=" -pie" ;; clang) CC="\"$NDKDIR/toolchains/llvm/prebuilt/linux-x86_64/bin/clang\"" CFLAGS+=" -target \"$CLANG_TARGET\"" CFLAGS+=" -gcc-toolchain \"$NDKDIR/toolchains/$GCC_TOOLCHAIN/prebuilt/linux-x86_64\"" ;; *) echo 1>&2 "Unknown compiler: \"$COMPILER\"" usage exit 1 esac make -j$(grep -c processor /proc/cpuinfo) test_programs \ CC="$CC" CFLAGS="$CFLAGS"
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
libdeflate-0.1.1 | ext/libdeflate/libdeflate/tools/android_build.sh |
libdeflate-0.1.0 | ext/libdeflate/libdeflate/tools/android_build.sh |