49 lines
1.5 KiB
Bash
49 lines
1.5 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
set -e
|
||
|
|
||
|
ANDROID_NDK=/Users/salomonbrys/Library/Android/sdk/ndk/21.3.6528147
|
||
|
TOOLCHAIN=darwin-x86_64
|
||
|
|
||
|
[[ -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
|
||
|
TOOLTARGET=$TARGET
|
||
|
if [ "$SYS" == "armv7a" ]; then
|
||
|
TARGET=armv7a-linux-androideabi
|
||
|
TOOLTARGET=arm-linux-androideabi
|
||
|
fi
|
||
|
|
||
|
export CC=$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN/bin/${TARGET}21-clang
|
||
|
export LD=$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN/bin/$TOOLTARGET-ld
|
||
|
export AR=$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN/bin/$TOOLTARGET-ar
|
||
|
export AS=$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN/bin/$TOOLTARGET-as
|
||
|
export RANLIB=$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN/bin/$TOOLTARGET-ranlib
|
||
|
export STRIP=$ANDROID_NDK/toolchains/llvm/prebuilt/$TOOLCHAIN/bin/$TOOLTARGET-strip
|
||
|
|
||
|
cd secp256k1
|
||
|
|
||
|
./autogen.sh
|
||
|
./configure CFLAGS=-fpic --host=$TARGET --enable-experimental --enable-module_ecdh --enable-module-recovery --enable-benchmark=no --enable-shared=no --enable-exhaustive-tests=no --enable-tests=no
|
||
|
make clean
|
||
|
make
|
||
|
|
||
|
cd ..
|
||
|
|
||
|
mkdir -p build/android/$ARCH
|
||
|
cp -v secp256k1/.libs/libsecp256k1.a build/android/$ARCH
|