diff --git a/build.sh b/build.sh index 2fd7da1c6..cc7854d17 100755 --- a/build.sh +++ b/build.sh @@ -54,6 +54,9 @@ fi android update project -p project || exit 1 rm -f project/src/Globals.java } + +[ -z "$GCCVER" ] && GCCVER=4.6 + # Set here your own NDK path if needed # export PATH=$PATH:~/src/endless_space/android-ndk-r7 NDKBUILDPATH=$PATH @@ -98,7 +101,7 @@ cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU nice -n19 ndk-build -j rm obj/local/armeabi/libapplication.so && \ cp jni/application/src/libapplication-armeabi.so obj/local/armeabi/libapplication.so && \ cp jni/application/src/libapplication-armeabi.so libs/armeabi/libapplication.so && \ - `which ndk-build | sed 's@/ndk-build@@'`/toolchains/arm-linux-androideabi-4.6/prebuilt/$MYARCH/bin/arm-linux-androideabi-strip --strip-unneeded libs/armeabi/libapplication.so \ + `which ndk-build | sed 's@/ndk-build@@'`/toolchains/arm-linux-androideabi-${GCCVER}/prebuilt/$MYARCH/bin/arm-linux-androideabi-strip --strip-unneeded libs/armeabi/libapplication.so \ || true ; } && \ { grep "CustomBuildScript=y" ../AndroidAppSettings.cfg > /dev/null && \ grep "MultiABI=" ../AndroidAppSettings.cfg | grep "y\\|all\\|armeabi-v7a" > /dev/null && \ @@ -106,7 +109,7 @@ cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU nice -n19 ndk-build -j rm obj/local/armeabi-v7a/libapplication.so && \ cp jni/application/src/libapplication-armeabi-v7a.so obj/local/armeabi-v7a/libapplication.so && \ cp jni/application/src/libapplication-armeabi-v7a.so libs/armeabi-v7a/libapplication.so && \ - `which ndk-build | sed 's@/ndk-build@@'`/toolchains/arm-linux-androideabi-4.6/prebuilt/$MYARCH/bin/arm-linux-androideabi-strip --strip-unneeded libs/armeabi-v7a/libapplication.so \ + `which ndk-build | sed 's@/ndk-build@@'`/toolchains/arm-linux-androideabi-${GCCVER}/prebuilt/$MYARCH/bin/arm-linux-androideabi-strip --strip-unneeded libs/armeabi-v7a/libapplication.so \ || true ; } && \ { grep "CustomBuildScript=y" ../AndroidAppSettings.cfg > /dev/null && \ grep "MultiABI=" ../AndroidAppSettings.cfg | grep "armeabi-v7a-hard" > /dev/null && \ @@ -114,7 +117,7 @@ cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU nice -n19 ndk-build -j rm obj/local/armeabi-v7a-hard/libapplication.so && \ cp jni/application/src/libapplication-armeabi-v7a-hard.so obj/local/armeabi-v7a-hard/libapplication.so && \ cp jni/application/src/libapplication-armeabi-v7a-hard.so libs/armeabi-v7a/libapplication.so && \ - `which ndk-build | sed 's@/ndk-build@@'`/toolchains/arm-linux-androideabi-4.6/prebuilt/$MYARCH/bin/arm-linux-androideabi-strip --strip-unneeded libs/armeabi-v7a/libapplication.so \ + `which ndk-build | sed 's@/ndk-build@@'`/toolchains/arm-linux-androideabi-${GCCVER}/prebuilt/$MYARCH/bin/arm-linux-androideabi-strip --strip-unneeded libs/armeabi-v7a/libapplication.so \ || true ; } && \ { grep "CustomBuildScript=y" ../AndroidAppSettings.cfg > /dev/null && \ grep "MultiABI=" ../AndroidAppSettings.cfg | grep "all\\|mips" > /dev/null && \ @@ -122,7 +125,7 @@ cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU nice -n19 ndk-build -j rm obj/local/mips/libapplication.so && \ cp jni/application/src/libapplication-mips.so obj/local/mips/libapplication.so && \ cp jni/application/src/libapplication-mips.so libs/mips/libapplication.so && \ - `which ndk-build | sed 's@/ndk-build@@'`/toolchains/mipsel-linux-android-4.6/prebuilt/$MYARCH/bin/mipsel-linux-android-strip --strip-unneeded libs/mips/libapplication.so \ + `which ndk-build | sed 's@/ndk-build@@'`/toolchains/mipsel-linux-android-${GCCVER}/prebuilt/$MYARCH/bin/mipsel-linux-android-strip --strip-unneeded libs/mips/libapplication.so \ || true ; } && \ { grep "CustomBuildScript=y" ../AndroidAppSettings.cfg > /dev/null && \ grep "MultiABI=" ../AndroidAppSettings.cfg | grep "all\\|x86" > /dev/null && \ @@ -130,7 +133,7 @@ cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU nice -n19 ndk-build -j rm obj/local/x86/libapplication.so && \ cp jni/application/src/libapplication-x86.so obj/local/x86/libapplication.so && \ cp jni/application/src/libapplication-x86.so libs/x86/libapplication.so && \ - `which ndk-build | sed 's@/ndk-build@@'`/toolchains/x86-4.6/prebuilt/$MYARCH/bin/i686-linux-android-strip --strip-unneeded libs/x86/libapplication.so \ + `which ndk-build | sed 's@/ndk-build@@'`/toolchains/x86-${GCCVER}/prebuilt/$MYARCH/bin/i686-linux-android-strip --strip-unneeded libs/x86/libapplication.so \ || true ; } && \ cd .. && ./copyAssets.sh && cd project && \ { if $build_release ; then \ diff --git a/project/jni/application/setEnvironment.sh b/project/jni/application/setEnvironment.sh index a2e8ddc22..233f6c9ad 100755 --- a/project/jni/application/setEnvironment.sh +++ b/project/jni/application/setEnvironment.sh @@ -22,7 +22,7 @@ grep "64.bit" "$NDK/RELEASE.TXT" >/dev/null 2>&1 && MYARCH="${MYARCH}_64" #echo NDK $NDK GCCPREFIX=arm-linux-androideabi -GCCVER=4.6 +[ -z "$GCCVER" ] && GCCVER=4.6 PLATFORMVER=android-14 LOCAL_PATH=`dirname $0` if which realpath > /dev/null ; then diff --git a/project/jni/setCrossEnvironment.sh b/project/jni/setCrossEnvironment.sh index c779fd97b..1d43dc572 100755 --- a/project/jni/setCrossEnvironment.sh +++ b/project/jni/setCrossEnvironment.sh @@ -20,7 +20,7 @@ NDK=`readlink -f $NDK` #echo NDK $NDK GCCPREFIX=arm-linux-androideabi -GCCVER=4.6 +[ -z "$GCCVER" ] && GCCVER=4.6 PLATFORMVER=android-8 LOCAL_PATH=`dirname $0` if which realpath > /dev/null ; then diff --git a/readme.txt b/readme.txt index cddd18495..29d355db7 100644 --- a/readme.txt +++ b/readme.txt @@ -279,6 +279,16 @@ There is helper script project/jni/application/setEnvironment.sh which will set for configure script and makefile, see AndroidBuild.sh in project/jni/application/scummvm dir for reference. +How to compile your own application using GCC 4.7 or newer +========================================================== + +By default, your application will be build with GCC 4.6. To use a newer version of GCC, e.g. GCC 4.8, set-up +your project like described but execute following commands before running any of the commandergenius scripts +to configure or build your project: +export GCCVER=4.8 +export NDK_TOOLCHAIN_VERSION=${GCCVER} + + Android application sleep/resume support ========================================