blob: 9dcc713feb7bcda80aed10f80009d8ec680a8b00 [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
8if [ -z "$ANDROID_ABI" ]; then
Thomas Guillemc1c81dc2014-10-09 18:46:10 +02009 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 -040010 exit 1
11fi
12
Tristan Matthewsd6033b42014-10-09 17:00:07 -040013# ANDROID_API must be previously set by compile.sh or env.sh
14if [ -z "$ANDROID_API" ];then
15 echo "ANDROID_API not set, call ./compile.sh first"
16 exit 1
17fi
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040018
Adrien Béraudb179bab2015-10-08 12:04:22 -040019CFLAGS="-fpic -g -O2 -fstrict-aliasing -funsafe-math-optimizations"
Thomas Guillemc1c81dc2014-10-09 18:46:10 +020020if [ -n "$HAVE_ARM" -a ! -n "$HAVE_64" ]; then
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040021 CFLAGS="${CFLAGS} -mlong-calls"
22fi
23
24LDFLAGS="-Wl,-Bdynamic,-dynamic-linker=/system/bin/linker -Wl,--no-undefined"
25
26if [ -n "$HAVE_ARM" ]; then
27 if [ ${ANDROID_ABI} = "armeabi-v7a" ]; then
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040028 LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8"
29 fi
30fi
31
32CPPFLAGS="-I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/include -I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}/include"
33LDFLAGS="$LDFLAGS -L${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}"
34
35SYSROOT=$ANDROID_NDK/platforms/$ANDROID_API/arch-$PLATFORM_SHORT_ARCH
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040036
37CPPFLAGS="$CPPFLAGS" \
Adrien Béraud04d822c2015-04-02 17:44:36 -040038CFLAGS="$CFLAGS ${RING_EXTRA_CFLAGS}" \
39CXXFLAGS="$CXXFLAGS ${RING_EXTRA_CXXFLAGS}" \
40LDFLAGS="$LDFLAGS ${RING_EXTRA_LDFLAGS}" \
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040041CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}" \
42CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}" \
43NM="${CROSS_COMPILE}nm" \
44STRIP="${CROSS_COMPILE}strip" \
45RANLIB="${CROSS_COMPILE}ranlib" \
46AR="${CROSS_COMPILE}ar" \
Adrien Béraud6d881d92015-06-17 16:22:23 -040047AS="${CROSS_COMPILE}as" \
Ciro Santilli7ff57fb2016-02-20 22:23:17 +010048PKG_CONFIG_LIBDIR=$RING_SRC_DIR/contrib/$TARGET_TUPLE/lib/pkgconfig \
49$RING_SRC_DIR/configure --host=$TARGET_TUPLE $EXTRA_PARAMS \
Adrien Béraud7f97ca92015-06-07 15:36:06 -040050 --disable-shared --with-opensl --without-dbus --without-alsa --without-pulse \
Ciro Santilli7ff57fb2016-02-20 22:23:17 +010051 --prefix=$RING_SRC_DIR/install-android-$TARGET_TUPLE \
Tristan Matthewscc806e12014-08-01 16:25:03 -040052 $*