secp256k1-kmp/native/build-android.sh

44 lines
1.3 KiB
Bash
Raw Normal View History

2020-06-26 20:50:32 +02:00
#!/usr/bin/env bash
set -e
[[ -z "$ANDROID_NDK" ]] && echo "Please set the ANDROID_NDK variable" && exit 1
[[ -z "$ARCH" ]] && echo "Please set the ARCH variable" && exit 1
[[ -z "$TOOLCHAIN" ]] && echo "Please set the TOOLCHAIN variable" && exit 1
if [ "$ARCH" == "x86_64" ]; then
SYS=x86_64
elif [ "$ARCH" == "x86" ]; then
SYS=i686
elif [ "$ARCH" == "arm64-v8a" ]; then
SYS=aarch64
elif [ "$ARCH" == "armeabi-v7a" ]; then
SYS=armv7a
else
echo "Unsupported ARCH: $ARCH"
exit 1
fi
TARGET=$SYS-linux-android
if [ "$SYS" == "armv7a" ]; then
TARGET=armv7a-linux-androideabi
fi
export CC=$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN/bin/${TARGET}21-clang
export LD=$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN/bin/ld
export AR=$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN/bin/llvm-ar
export AS=$CC
export RANLIB=$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN/bin/llvm-ranlib
export STRIP=$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN/bin/llvm-strip
2020-06-26 20:50:32 +02:00
cd secp256k1
./autogen.sh
./configure CFLAGS=-fpic --host=$TARGET --enable-experimental --enable-module_ecdh --enable-module-recovery --enable-module-schnorrsig --enable-benchmark=no --enable-shared=no --enable-exhaustive-tests=no --enable-tests=no
2020-06-26 20:50:32 +02:00
make clean
make
cd ..
2020-07-01 18:26:24 +02:00
mkdir -p build/android-$ARCH
cp -v secp256k1/.libs/libsecp256k1.a build/android-$ARCH