| #!/bin/sh |
| |
| if [ -z "$ANDROID_NDK" ]; then |
| echo "Please set the ANDROID_NDK environment variable with its path." |
| exit 1 |
| fi |
| |
| if [ -z "$ANDROID_ABI" ]; then |
| echo "Please set ANDROID_ABI to your architecture: armeabi-v7a, armeabi, arm64-v8a, x86, x86_64 or mips." |
| exit 1 |
| fi |
| |
| # ANDROID_API must be previously set by compile.sh or env.sh |
| if [ -z "$ANDROID_API" ];then |
| echo "ANDROID_API not set, call ./compile.sh first" |
| exit 1 |
| fi |
| |
| RING_SOURCEDIR=`cd ..; pwd` |
| |
| CFLAGS="-fpic -g -O2 -fstrict-aliasing -funsafe-math-optimizations" |
| if [ -n "$HAVE_ARM" -a ! -n "$HAVE_64" ]; then |
| CFLAGS="${CFLAGS} -mlong-calls" |
| fi |
| |
| LDFLAGS="-Wl,-Bdynamic,-dynamic-linker=/system/bin/linker -Wl,--no-undefined" |
| |
| if [ -n "$HAVE_ARM" ]; then |
| if [ ${ANDROID_ABI} = "armeabi-v7a" ]; then |
| LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8" |
| fi |
| fi |
| |
| CPPFLAGS="-I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/include -I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}/include" |
| LDFLAGS="$LDFLAGS -L${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}" |
| |
| SYSROOT=$ANDROID_NDK/platforms/$ANDROID_API/arch-$PLATFORM_SHORT_ARCH |
| |
| CPPFLAGS="$CPPFLAGS" \ |
| CFLAGS="$CFLAGS ${RING_EXTRA_CFLAGS}" \ |
| CXXFLAGS="$CXXFLAGS ${RING_EXTRA_CXXFLAGS}" \ |
| LDFLAGS="$LDFLAGS ${RING_EXTRA_LDFLAGS}" \ |
| CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}" \ |
| CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}" \ |
| NM="${CROSS_COMPILE}nm" \ |
| STRIP="${CROSS_COMPILE}strip" \ |
| RANLIB="${CROSS_COMPILE}ranlib" \ |
| AR="${CROSS_COMPILE}ar" \ |
| AS="${CROSS_COMPILE}as" \ |
| PKG_CONFIG_LIBDIR=$RING_SOURCEDIR/contrib/$TARGET_TUPLE/lib/pkgconfig \ |
| $RING_SOURCEDIR/configure --host=$TARGET_TUPLE $EXTRA_PARAMS \ |
| --disable-shared --with-opensl --without-dbus --without-alsa --without-pulse \ |
| --prefix=$RING_SOURCEDIR/install-android-$TARGET_TUPLE \ |
| $* |