blob: fb0dabe76cd2790efa0eae81d2a1d8b33a174996 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#!/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
if [[ -z $TARGET_ARCH ]] || [[ -z $HOST_COMPILER ]]; then
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}"
|