66 lines
1.2 KiB
Plaintext
66 lines
1.2 KiB
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
set -eu
|
||
|
|
||
|
# Set up environment
|
||
|
NDK=$ANDROID_NDK_HOME
|
||
|
|
||
|
ABI=${1:-"armeabi-v7a"}
|
||
|
|
||
|
case $ABI in
|
||
|
armeabi-v7a)
|
||
|
TARGET=armv7a-linux-androideabi
|
||
|
NDK_API=16
|
||
|
;;
|
||
|
arm64-v8a)
|
||
|
TARGET=aarch64-linux-android
|
||
|
NDK_API=21
|
||
|
;;
|
||
|
x86)
|
||
|
TARGET=i686-linux-android
|
||
|
NDK_API=16
|
||
|
;;
|
||
|
x86_64)
|
||
|
TARGET=x86_64-linux-android
|
||
|
NDK_API=21
|
||
|
;;
|
||
|
*)
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
rm -rf _android_prefix
|
||
|
mkdir -p _android_prefix
|
||
|
PREFIX=$PWD/_android_prefix
|
||
|
|
||
|
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
|
||
|
SYSROOT=$TOOLCHAIN/sysroot
|
||
|
|
||
|
export CC="$TOOLCHAIN/bin/$TARGET$NDK_API"-clang
|
||
|
export LDFLAGS=-static-libstdc++
|
||
|
export PKG_CONFIG_PATH="$PREFIX"/lib/pkgconfig
|
||
|
|
||
|
# Build libsodium
|
||
|
if [ ! -d libsodium ]; then
|
||
|
git clone --branch=1.0.18 https://github.com/jedisct1/libsodium.git
|
||
|
fi
|
||
|
cd libsodium
|
||
|
git clean -ffdx
|
||
|
autoreconf -fi
|
||
|
./configure --prefix="$PREFIX" --host="$TARGET" --with-sysroot="$SYSROOT" --disable-shared
|
||
|
make -j"$(nproc)" install
|
||
|
cd ..
|
||
|
|
||
|
# Build c-toxcore
|
||
|
rm -rf _build
|
||
|
mkdir -p _build
|
||
|
cd _build
|
||
|
cmake .. \
|
||
|
-DBUILD_TOXAV=OFF \
|
||
|
-DBOOTSTRAP_DAEMON=OFF \
|
||
|
-DCMAKE_TOOLCHAIN_FILE="$NDK/build/cmake/android.toolchain.cmake" \
|
||
|
-DANDROID_ABI="$ABI" \
|
||
|
-DCMAKE_INSTALL_PREFIX="$PREFIX" \
|
||
|
-DCMAKE_PREFIX_PATH="$PREFIX"
|
||
|
cmake --build .
|