Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | if [ -z "$ANDROID_NDK" ]; then |
| 4 | echo "Please set the ANDROID_NDK environment variable with its path." |
| 5 | exit 1 |
| 6 | fi |
| 7 | |
| 8 | if [ -z "$ANDROID_ABI" ]; then |
Thomas Guillem | c1c81dc | 2014-10-09 18:46:10 +0200 | [diff] [blame] | 9 | echo "Please set ANDROID_ABI to your architecture: armeabi-v7a, armeabi, arm64-v8a, x86, x86_64 or mips." |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 10 | exit 1 |
| 11 | fi |
| 12 | |
Tristan Matthews | d6033b4 | 2014-10-09 17:00:07 -0400 | [diff] [blame] | 13 | # ANDROID_API must be previously set by compile.sh or env.sh |
| 14 | if [ -z "$ANDROID_API" ];then |
| 15 | echo "ANDROID_API not set, call ./compile.sh first" |
| 16 | exit 1 |
| 17 | fi |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 18 | |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 19 | RING_SOURCEDIR=`cd ..; pwd` |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 20 | |
| 21 | CFLAGS="-g -O2 -fstrict-aliasing -funsafe-math-optimizations" |
Thomas Guillem | c1c81dc | 2014-10-09 18:46:10 +0200 | [diff] [blame] | 22 | if [ -n "$HAVE_ARM" -a ! -n "$HAVE_64" ]; then |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 23 | CFLAGS="${CFLAGS} -mlong-calls" |
| 24 | fi |
| 25 | |
| 26 | LDFLAGS="-Wl,-Bdynamic,-dynamic-linker=/system/bin/linker -Wl,--no-undefined" |
| 27 | |
| 28 | if [ -n "$HAVE_ARM" ]; then |
| 29 | if [ ${ANDROID_ABI} = "armeabi-v7a" ]; then |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 30 | LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8" |
| 31 | fi |
| 32 | fi |
| 33 | |
| 34 | CPPFLAGS="-I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/include -I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}/include" |
| 35 | LDFLAGS="$LDFLAGS -L${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}" |
| 36 | |
| 37 | SYSROOT=$ANDROID_NDK/platforms/$ANDROID_API/arch-$PLATFORM_SHORT_ARCH |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 38 | |
| 39 | CPPFLAGS="$CPPFLAGS" \ |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 40 | CFLAGS="$CFLAGS ${RING_EXTRA_CFLAGS}" \ |
| 41 | CXXFLAGS="$CXXFLAGS ${RING_EXTRA_CXXFLAGS}" \ |
| 42 | LDFLAGS="$LDFLAGS ${RING_EXTRA_LDFLAGS}" \ |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 43 | CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}" \ |
| 44 | CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}" \ |
| 45 | NM="${CROSS_COMPILE}nm" \ |
| 46 | STRIP="${CROSS_COMPILE}strip" \ |
| 47 | RANLIB="${CROSS_COMPILE}ranlib" \ |
| 48 | AR="${CROSS_COMPILE}ar" \ |
Adrien Béraud | 6d881d9 | 2015-06-17 16:22:23 -0400 | [diff] [blame] | 49 | AS="${CROSS_COMPILE}as" \ |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 50 | PKG_CONFIG_LIBDIR=$RING_SOURCEDIR/contrib/$TARGET_TUPLE/lib/pkgconfig \ |
Adrien Béraud | 6d881d9 | 2015-06-17 16:22:23 -0400 | [diff] [blame] | 51 | $RING_SOURCEDIR/configure --host=$TARGET_TUPLE $EXTRA_PARAMS \ |
Adrien Béraud | 7f97ca9 | 2015-06-07 15:36:06 -0400 | [diff] [blame] | 52 | --disable-shared --with-opensl --without-dbus --without-alsa --without-pulse \ |
| 53 | --prefix=$RING_SOURCEDIR/install-android-$TARGET_TUPLE \ |
Tristan Matthews | cc806e1 | 2014-08-01 16:25:03 -0400 | [diff] [blame] | 54 | $* |