You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
1.8 KiB

#!/bin/sh
# Compiles ffts for Android
# Make sure you have NDK_ROOT defined in .bashrc or .bash_profile
# Modify INSTALL_DIR to suit your situation
INSTALL_DIR="`pwd`/java/android/bin"
PLATFORM=android-8
TOOL="4.6"
case $(uname -s) in
Darwin)
CONFBUILD=i386-apple-darwin`uname -r`
HOSTPLAT=darwin-x86
;;
Linux)
CONFBUILD=x86-unknown-linux
HOSTPLAT=linux-`uname -m`
;;
*) echo $0: Unknown platform; exit
esac
case arm in
arm)
TARGPLAT=arm-linux-androideabi
ARCH=arm
CONFTARG=arm-eabi
;;
x86)
TARGPLAT=x86
ARCH=x86
CONFTARG=x86
;;
mips)
## probably wrong
TARGPLAT=mipsel-linux-android
ARCH=mips
CONFTARG=mips
;;
*) echo $0: Unknown target; exit
esac
: ${NDK_ROOT:?}
echo "Using: $NDK_ROOT/toolchains/${TARGPLAT}-${TOOL}/prebuilt/${HOSTPLAT}/bin"
export PATH="$NDK_ROOT/toolchains/${TARGPLAT}-${TOOL}/prebuilt/${HOSTPLAT}/bin/:$PATH"
export SYS_ROOT="$NDK_ROOT/platforms/${PLATFORM}/arch-${ARCH}/"
export CC="${TARGPLAT}-gcc --sysroot=$SYS_ROOT"
export LD="${TARGPLAT}-ld"
export AR="${TARGPLAT}-ar"
export RANLIB="${TARGPLAT}-ranlib"
export STRIP="${TARGPLAT}-strip"
export CFLAGS="-Os"
mkdir -p $INSTALL_DIR
./configure --enable-neon --build=${CONFBUILD} --host=${CONFTARG} --prefix=$INSTALL_DIR LIBS="-lc -lgcc"
make clean
make
make install
if [ -z "$ANDROID_HOME" ] ; then
echo ""
echo " No ANDROID_HOME defined"
echo " Android JNI interfaces will not be built"
echo
else
echo
echo "Using android_home ${ANDROID_HOME}"
echo
( cd java/android ; ${ANDROID_HOME}/tools/android update lib-project -p . ) || exit 1
( cd java/android/jni ; ${NDK_ROOT}/ndk-build V=1 ) || exit 1
( cd java/android ; ant release ) || exit 1
echo
echo "Android library project location:"
echo " `pwd`/java/android"
echo
fi
exit 0