From d894bf23d077adc2bf7f013b04f73a20edbd404b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Fri, 20 Jun 2014 11:15:44 +0100 Subject: [PATCH] android compilation script --- misc/mkandroid | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100755 misc/mkandroid diff --git a/misc/mkandroid b/misc/mkandroid new file mode 100755 index 000000000..e20495d23 --- /dev/null +++ b/misc/mkandroid @@ -0,0 +1,71 @@ +#!/bin/bash +# +# script to compile yap for Android. + +BUILD=x86_64-apple-darwin + +export SDK_ROOT=$HOME/Yap/android-sdk-macosx +export NDK_ROOT=$HOME/Yap/android-ndk-r9d +export NDK_HOST=darwin-x86_64 +export GCC_VERSION=4.8 +#export PATH=$PATH:"$NDK_ROOT"/toolchains/arm-linux-androideabi-"$GCC_VERSION"/prebuilt/$NDK_HOST/bin +export PATH=$PATH:"$SDK_ROOT"/tools:"$NDK_ROOT" + +export GMPDIR=$HOME/Yap/gmp-android + +export ANDROID_NDK_ROOT="$NDK_ROOT"/ +export ANDROID_SYSROOT="$NDK_ROOT"/platforms/android-17/arch-arm + +if test -d $HOME/Yap/my-android-toolchain +then + echo using the setup at $HOME/Yap/my-android-toolchain +else + "$NDK_ROOT"/build/tools/make-standalone-toolchain.sh \ + --platform=android-17 \ + --toolchain=arm-linux-androideabi-"$GCC_VERSION" \ + --install-dir="$HOME"/Yap/my-android-toolchain +fi + +export PATH=$HOME/Yap/my-android-toolchain/bin:$PATH + +cd ~/Yap/bins/android + +if test x$1 = xmake +then + make -j install + rm -r packages/swig/android +elif test x$1 = xenv +then + return 0; +elif test x$1 = xeclipse +then + emulator -avd first & + ~/eclipse/eclipse & + exit 0; +# not working +# elif test x$1 = xgmp +# then +# cd ~/Yap/gmp-6.0.0 +# export LDFLAGS="-Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now" +# export BASE_CFLAGS='-O2 -g -pedantic -fomit-frame-pointer -Wa,--noexecstack -ffunction-sections -funwind-tables -fstack-protector -fno-strict-aliasing' +# export CFLAGS="${BASE_CFLAGS} -mfloat-abi=softfp -mfpu=vfp" +# export LIBGMP_LDFLAGS='-avoid-version' +# export LIBGMPXX_LDFLAGS='-avoid-version' +# export PATH="$NDK_ROOT"/toolchains/arm-linux-androideabi-4.8/prebuilt/$NDK_HOST/arm-linux-androideabi/bin:$PATH +# export MPN_PATH="arm/v6t2 arm/v6 arm/v5 arm generic" +# ./configure --host=arm-linux-androideabi --build=$BUILD --prefix=$HOME/Yap/gmp-android +# # make +# exit 0 +else + rm -rf ~/Yap/bins/android/* + ~/git/yap-6.3/configure --host=arm-linux-androideabi --prefix=`pwd` --with-readline=no --enable-low-level-tracer --enable-debug-yap --enable-dynamic-loading --with-swig --with-gmp=$GMPDIR --disable-chr #--enable-threads + make depend + make -j install + +fi +cp libYap.so libYapi.so $GMPDIR/lib/libgmp.so $ANDROID_NDK_ROOT/build/core/lib/ +cd packages/swig +mkdir -p $ANDROID_NDK_ROOT/build/core/lib +make android +adb uninstall org.swig.simple +adb install android/bin/SwigSimple-debug.apk