Files
isar/tool/build_android.sh
T

61 lines
2.3 KiB
Bash

#!/bin/bash
if [[ "$(uname -s)" == "Darwin" ]]; then
export NDK_HOST_TAG="darwin-x86_64"
elif [[ "$(uname -s)" == "Linux" ]]; then
export NDK_HOST_TAG="linux-x86_64"
else
echo "Unsupported OS."
exit
fi
NDK=${ANDROID_NDK_HOME:-${ANDROID_NDK_ROOT:-"$ANDROID_SDK_ROOT/ndk"}}
COMPILER_DIR="$NDK/toolchains/llvm/prebuilt/$NDK_HOST_TAG/bin"
export PATH="$COMPILER_DIR:$PATH"
echo "$COMPILER_DIR"
export CC_i686_linux_android=$COMPILER_DIR/i686-linux-android21-clang
export AR_i686_linux_android=$COMPILER_DIR/llvm-ar
export CARGO_TARGET_I686_LINUX_ANDROID_LINKER=$COMPILER_DIR/i686-linux-android21-clang
export CARGO_TARGET_I686_LINUX_ANDROID_AR=$COMPILER_DIR/llvm-ar
export CC_x86_64_linux_android=$COMPILER_DIR/x86_64-linux-android21-clang
export AR_x86_64_linux_android=$COMPILER_DIR/llvm-ar
export CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=$COMPILER_DIR/x86_64-linux-android21-clang
export CARGO_TARGET_X86_64_LINUX_ANDROID_AR=$COMPILER_DIR/llvm-ar
export CC_armv7_linux_androideabi=$COMPILER_DIR/armv7a-linux-androideabi21-clang
export AR_armv7_linux_androideabi=$COMPILER_DIR/llvm-ar
export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=$COMPILER_DIR/armv7a-linux-androideabi21-clang
export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_AR=$COMPILER_DIR/llvm-ar
export CC_aarch64_linux_android=$COMPILER_DIR/aarch64-linux-android21-clang
export AR_aarch64_linux_android=$COMPILER_DIR/llvm-ar
export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=$COMPILER_DIR/aarch64-linux-android21-clang
export CARGO_TARGET_AARCH64_LINUX_ANDROID_AR=$COMPILER_DIR/llvm-ar
if [ "$1" = "x86" ]; then
rustup target add i686-linux-android
cargo build --target i686-linux-android --release
mv "target/i686-linux-android/release/libisar.so" "libisar_android_x86.so"
elif [ "$1" = "x64" ]; then
rustup target add x86_64-linux-android
cargo build --target x86_64-linux-android --release
mv "target/x86_64-linux-android/release/libisar.so" "libisar_android_x64.so"
elif [ "$1" = "armv7" ]; then
rustup target add armv7-linux-androideabi
cargo build --target armv7-linux-androideabi
mv "target/armv7-linux-androideabi/debug/libisar.so" "libisar_android_armv7.so"
else
rustup target add aarch64-linux-android
cargo build --target aarch64-linux-android --release
mv "target/aarch64-linux-android/release/libisar.so" "libisar_android_arm64.so"
fi