Closed awulms closed 10 years ago
This patch completes the partial support for any GCC version
From 98823390351f6a7f58605a26c9114b7e260af358 Mon Sep 17 00:00:00 2001 From: Alex Wulms <awulms@nospam.thevoid> Date: Sun, 5 Oct 2014 15:54:47 +0200 Subject: [PATCH] Support GCCVER parameter in all scripts so that projects can be build with any GCC version --- build.sh | 13 ++++++++----- project/jni/application/setEnvironment.sh | 2 +- project/jni/setCrossEnvironment.sh | 2 +- readme.txt | 10 ++++++++++ 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/build.sh b/build.sh index 2fd7da1..cc7854d 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 a2e8ddc..233f6c9 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 c779fd9..1d43dc5 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 cddd184..29d355d 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 ======================================== -- 1.8.4.5
Merged, thanks.
This patch completes the partial support for any GCC version