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 | |
Adrien Béraud | 86759bb | 2016-09-28 13:54:54 -0400 | [diff] [blame] | 8 | if [ -z "$NDK_TOOLCHAIN_PATH" ]; then |
| 9 | echo "Please set the NDK_TOOLCHAIN_PATH environment variable with its path." |
| 10 | exit 1 |
| 11 | fi |
| 12 | |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 13 | if [ -z "$ANDROID_ABI" ]; then |
Thomas Guillem | c1c81dc | 2014-10-09 18:46:10 +0200 | [diff] [blame] | 14 | 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] | 15 | exit 1 |
| 16 | fi |
| 17 | |
Tristan Matthews | d6033b4 | 2014-10-09 17:00:07 -0400 | [diff] [blame] | 18 | # ANDROID_API must be previously set by compile.sh or env.sh |
| 19 | if [ -z "$ANDROID_API" ];then |
| 20 | echo "ANDROID_API not set, call ./compile.sh first" |
| 21 | exit 1 |
| 22 | fi |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 23 | |
Adrien Béraud | b179bab | 2015-10-08 12:04:22 -0400 | [diff] [blame] | 24 | CFLAGS="-fpic -g -O2 -fstrict-aliasing -funsafe-math-optimizations" |
Thomas Guillem | c1c81dc | 2014-10-09 18:46:10 +0200 | [diff] [blame] | 25 | if [ -n "$HAVE_ARM" -a ! -n "$HAVE_64" ]; then |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 26 | CFLAGS="${CFLAGS} -mlong-calls" |
| 27 | fi |
| 28 | |
| 29 | LDFLAGS="-Wl,-Bdynamic,-dynamic-linker=/system/bin/linker -Wl,--no-undefined" |
| 30 | |
| 31 | if [ -n "$HAVE_ARM" ]; then |
| 32 | if [ ${ANDROID_ABI} = "armeabi-v7a" ]; then |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 33 | LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8" |
| 34 | fi |
| 35 | fi |
| 36 | |
Adrien Béraud | 86759bb | 2016-09-28 13:54:54 -0400 | [diff] [blame] | 37 | CPPFLAGS="-I${NDK_TOOLCHAIN_PATH}/include/c++/4.9.x -I${RING_SRC_DIR}/contrib/${TARGET_TUPLE}/include " |
| 38 | LDFLAGS="$LDFLAGS -L${NDK_TOOLCHAIN_PATH}/${TARGET_TUPLE}/lib/${ANDROID_ABI} -L${RING_SRC_DIR}/contrib/${TARGET_TUPLE}/lib " |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 39 | |
Adrien Béraud | 86759bb | 2016-09-28 13:54:54 -0400 | [diff] [blame] | 40 | SYSROOT=$NDK_TOOLCHAIN_PATH/sysroot |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 41 | |
| 42 | CPPFLAGS="$CPPFLAGS" \ |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 43 | CFLAGS="$CFLAGS ${RING_EXTRA_CFLAGS}" \ |
| 44 | CXXFLAGS="$CXXFLAGS ${RING_EXTRA_CXXFLAGS}" \ |
| 45 | LDFLAGS="$LDFLAGS ${RING_EXTRA_LDFLAGS}" \ |
Adrien Béraud | d088a98 | 2017-02-09 14:38:36 -0500 | [diff] [blame] | 46 | CC="${CROSS_COMPILE}clang" \ |
| 47 | CXX="${CROSS_COMPILE}clang++" \ |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 48 | NM="${CROSS_COMPILE}nm" \ |
| 49 | STRIP="${CROSS_COMPILE}strip" \ |
| 50 | RANLIB="${CROSS_COMPILE}ranlib" \ |
| 51 | AR="${CROSS_COMPILE}ar" \ |
Adrien Béraud | 6d881d9 | 2015-06-17 16:22:23 -0400 | [diff] [blame] | 52 | AS="${CROSS_COMPILE}as" \ |
Ciro Santilli | 7ff57fb | 2016-02-20 22:23:17 +0100 | [diff] [blame] | 53 | PKG_CONFIG_LIBDIR=$RING_SRC_DIR/contrib/$TARGET_TUPLE/lib/pkgconfig \ |
| 54 | $RING_SRC_DIR/configure --host=$TARGET_TUPLE $EXTRA_PARAMS \ |
Adrien Béraud | 86759bb | 2016-09-28 13:54:54 -0400 | [diff] [blame] | 55 | --disable-shared --with-opensl --without-dbus --without-alsa --without-pulse --without-speexdsp \ |
Ciro Santilli | 7ff57fb | 2016-02-20 22:23:17 +0100 | [diff] [blame] | 56 | --prefix=$RING_SRC_DIR/install-android-$TARGET_TUPLE \ |
Tristan Matthews | cc806e1 | 2014-08-01 16:25:03 -0400 | [diff] [blame] | 57 | $* |