blob: bcc67793d849cd7d4e26ffd4ade786351240144f [file] [log] [blame]
Alexandre Lision43b9aeb2014-07-15 14:21:19 -04001#!/bin/sh
2
3if [ -z "$ANDROID_NDK" ]; then
4 echo "Please set the ANDROID_NDK environment variable with its path."
5 exit 1
6fi
7
Adrien Béraud86759bb2016-09-28 13:54:54 -04008if [ -z "$NDK_TOOLCHAIN_PATH" ]; then
9 echo "Please set the NDK_TOOLCHAIN_PATH environment variable with its path."
10 exit 1
11fi
12
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040013if [ -z "$ANDROID_ABI" ]; then
Thomas Guillemc1c81dc2014-10-09 18:46:10 +020014 echo "Please set ANDROID_ABI to your architecture: armeabi-v7a, armeabi, arm64-v8a, x86, x86_64 or mips."
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040015 exit 1
16fi
17
Tristan Matthewsd6033b42014-10-09 17:00:07 -040018# ANDROID_API must be previously set by compile.sh or env.sh
19if [ -z "$ANDROID_API" ];then
20 echo "ANDROID_API not set, call ./compile.sh first"
21 exit 1
22fi
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040023
Adrien Béraudb179bab2015-10-08 12:04:22 -040024CFLAGS="-fpic -g -O2 -fstrict-aliasing -funsafe-math-optimizations"
Thomas Guillemc1c81dc2014-10-09 18:46:10 +020025if [ -n "$HAVE_ARM" -a ! -n "$HAVE_64" ]; then
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040026 CFLAGS="${CFLAGS} -mlong-calls"
27fi
28
29LDFLAGS="-Wl,-Bdynamic,-dynamic-linker=/system/bin/linker -Wl,--no-undefined"
30
31if [ -n "$HAVE_ARM" ]; then
32 if [ ${ANDROID_ABI} = "armeabi-v7a" ]; then
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040033 LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8"
34 fi
35fi
36
Adrien Béraud86759bb2016-09-28 13:54:54 -040037CPPFLAGS="-I${NDK_TOOLCHAIN_PATH}/include/c++/4.9.x -I${RING_SRC_DIR}/contrib/${TARGET_TUPLE}/include "
38LDFLAGS="$LDFLAGS -L${NDK_TOOLCHAIN_PATH}/${TARGET_TUPLE}/lib/${ANDROID_ABI} -L${RING_SRC_DIR}/contrib/${TARGET_TUPLE}/lib "
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040039
Adrien Béraud86759bb2016-09-28 13:54:54 -040040SYSROOT=$NDK_TOOLCHAIN_PATH/sysroot
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040041
42CPPFLAGS="$CPPFLAGS" \
Adrien Béraud04d822c2015-04-02 17:44:36 -040043CFLAGS="$CFLAGS ${RING_EXTRA_CFLAGS}" \
44CXXFLAGS="$CXXFLAGS ${RING_EXTRA_CXXFLAGS}" \
45LDFLAGS="$LDFLAGS ${RING_EXTRA_LDFLAGS}" \
Adrien Béraudd088a982017-02-09 14:38:36 -050046CC="${CROSS_COMPILE}clang" \
47CXX="${CROSS_COMPILE}clang++" \
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040048NM="${CROSS_COMPILE}nm" \
49STRIP="${CROSS_COMPILE}strip" \
50RANLIB="${CROSS_COMPILE}ranlib" \
51AR="${CROSS_COMPILE}ar" \
Adrien Béraud6d881d92015-06-17 16:22:23 -040052AS="${CROSS_COMPILE}as" \
Ciro Santilli7ff57fb2016-02-20 22:23:17 +010053PKG_CONFIG_LIBDIR=$RING_SRC_DIR/contrib/$TARGET_TUPLE/lib/pkgconfig \
54$RING_SRC_DIR/configure --host=$TARGET_TUPLE $EXTRA_PARAMS \
Adrien Béraud86759bb2016-09-28 13:54:54 -040055 --disable-shared --with-opensl --without-dbus --without-alsa --without-pulse --without-speexdsp \
Ciro Santilli7ff57fb2016-02-20 22:23:17 +010056 --prefix=$RING_SRC_DIR/install-android-$TARGET_TUPLE \
Tristan Matthewscc806e12014-08-01 16:25:03 -040057 $*