blob: 6fd1d3234ce674e720c7aa55d37ce70fd46ee28d [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éraud04d822c2015-04-02 17:44:36 -040019RING_SOURCEDIR=`cd ..; pwd`
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040020
Adrien Béraudb179bab2015-10-08 12:04:22 -040021CFLAGS="-fpic -g -O2 -fstrict-aliasing -funsafe-math-optimizations"
Thomas Guillemc1c81dc2014-10-09 18:46:10 +020022if [ -n "$HAVE_ARM" -a ! -n "$HAVE_64" ]; then
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040023 CFLAGS="${CFLAGS} -mlong-calls"
24fi
25
26LDFLAGS="-Wl,-Bdynamic,-dynamic-linker=/system/bin/linker -Wl,--no-undefined"
27
28if [ -n "$HAVE_ARM" ]; then
29 if [ ${ANDROID_ABI} = "armeabi-v7a" ]; then
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040030 LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8"
31 fi
32fi
33
34CPPFLAGS="-I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/include -I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}/include"
35LDFLAGS="$LDFLAGS -L${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}"
36
37SYSROOT=$ANDROID_NDK/platforms/$ANDROID_API/arch-$PLATFORM_SHORT_ARCH
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040038
39CPPFLAGS="$CPPFLAGS" \
Adrien Béraud04d822c2015-04-02 17:44:36 -040040CFLAGS="$CFLAGS ${RING_EXTRA_CFLAGS}" \
41CXXFLAGS="$CXXFLAGS ${RING_EXTRA_CXXFLAGS}" \
42LDFLAGS="$LDFLAGS ${RING_EXTRA_LDFLAGS}" \
Alexandre Lision43b9aeb2014-07-15 14:21:19 -040043CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}" \
44CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}" \
45NM="${CROSS_COMPILE}nm" \
46STRIP="${CROSS_COMPILE}strip" \
47RANLIB="${CROSS_COMPILE}ranlib" \
48AR="${CROSS_COMPILE}ar" \
Adrien Béraud6d881d92015-06-17 16:22:23 -040049AS="${CROSS_COMPILE}as" \
Adrien Béraud04d822c2015-04-02 17:44:36 -040050PKG_CONFIG_LIBDIR=$RING_SOURCEDIR/contrib/$TARGET_TUPLE/lib/pkgconfig \
Adrien Béraud6d881d92015-06-17 16:22:23 -040051$RING_SOURCEDIR/configure --host=$TARGET_TUPLE $EXTRA_PARAMS \
Adrien Béraud7f97ca92015-06-07 15:36:06 -040052 --disable-shared --with-opensl --without-dbus --without-alsa --without-pulse \
53 --prefix=$RING_SOURCEDIR/install-android-$TARGET_TUPLE \
Tristan Matthewscc806e12014-08-01 16:25:03 -040054 $*