2014-02-24 17:12:55 +08:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
if [ -z "$ANDROID_NDK_HOME" ]; then
|
|
|
|
echo "You should probably set ANDROID_NDK_HOME to the directory containing"
|
|
|
|
echo "the Android NDK"
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "$SODIUM_HOME" ]; then
|
|
|
|
echo "You should probably set SODIUM_HOME to the directory containing root sodium sources"
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
2016-06-25 02:36:04 +08:00
|
|
|
if [ -z "$TARGET_ARCH" ] || [ -z "$HOST_COMPILER" ]; then
|
2014-02-24 17:12:55 +08:00
|
|
|
echo "You shouldn't use android-build.sh directly, use android-[arch].sh instead"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -f ./configure ]; then
|
|
|
|
echo "Can't find ./configure. Wrong directory or haven't run autogen.sh?"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "$TOOLCHAIN_DIR" ]; then
|
|
|
|
export TOOLCHAIN_DIR="$(pwd)/android-toolchain-${TARGET_ARCH}"
|
|
|
|
export MAKE_TOOLCHAIN="${ANDROID_NDK_HOME}/build/tools/make-standalone-toolchain.sh"
|
|
|
|
|
|
|
|
if [ -z "$MAKE_TOOLCHAIN" ]; then
|
|
|
|
echo "Cannot find a make-standalone-toolchain.sh in ndk dir, interrupt..."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
$MAKE_TOOLCHAIN --platform="${NDK_PLATFORM:-android-14}" \
|
|
|
|
--arch="${TARGET_ARCH}" \
|
|
|
|
--toolchain="${TOOLCHAIN_NAME:-arm-linux-androideabi-4.8}" \
|
|
|
|
--install-dir="${TOOLCHAIN_DIR}"
|
|
|
|
fi
|
|
|
|
|
|
|
|
export PREFIX="$(pwd)/toxcore-android-${TARGET_ARCH}"
|
|
|
|
export SYSROOT="${TOOLCHAIN_DIR}/sysroot"
|
|
|
|
export PATH="${PATH}:${TOOLCHAIN_DIR}/bin"
|
|
|
|
|
|
|
|
# Clean up before build
|
|
|
|
rm -rf "${PREFIX}"
|
|
|
|
|
|
|
|
export CFLAGS="${CFLAGS} --sysroot=${SYSROOT} -I${SYSROOT}/usr/include"
|
|
|
|
export CPPFLAGS="${CFLAGS}"
|
|
|
|
export LDFLAGS="${LDFLAGS} -L${SYSROOT}/usr/lib"
|
|
|
|
|
|
|
|
./configure --host="${HOST_COMPILER}" \
|
|
|
|
--with-sysroot="${SYSROOT}" \
|
|
|
|
--with-libsodium-headers="${SODIUM_HOME}/libsodium-android-${TARGET_ARCH}/include" \
|
|
|
|
--with-libsodium-libs="${SODIUM_HOME}/libsodium-android-${TARGET_ARCH}/lib" \
|
|
|
|
--disable-av \
|
|
|
|
--prefix="${PREFIX}" && \
|
|
|
|
|
|
|
|
make clean && \
|
|
|
|
make -j3 install && \
|
|
|
|
echo "libtoxcore has been installed into ${PREFIX}"
|