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
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
|