aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dists/androidsdl/How_to_Build.txt10
-rwxr-xr-xdists/androidsdl/build.sh46
-rw-r--r--[-rwxr-xr-x]dists/androidsdl/scummvm/AndroidBuildDebug.sh (renamed from dists/androidsdl/scummvm/AndroidBuild.sh)0
-rw-r--r--dists/androidsdl/scummvm/AndroidBuildRelease.sh22
4 files changed, 73 insertions, 5 deletions
diff --git a/dists/androidsdl/How_to_Build.txt b/dists/androidsdl/How_to_Build.txt
index c294fc8e67..c0562ca2de 100644
--- a/dists/androidsdl/How_to_Build.txt
+++ b/dists/androidsdl/How_to_Build.txt
@@ -106,6 +106,9 @@
cd ~/scummvm/dists/androidsdl
./build.sh
+7b) The above build command will create a release build. In order to make a debug build, you will need to add the "debug" argument when running the build command like so:
+ ./build.sh debug
+
8) If the process completes successfully, a "scummvm-debug.apk" file will be stored in that folder (~/scummvm/dists/androidsdl).
Since this apk is self-signed you will need to enable installation by third-party sources on your Android device in order to install it.
@@ -120,12 +123,11 @@ NOTE: You can significantly reduce the build time if you target a specific Andro
The above line is only an example; you might have to specify another architecture for your specific use case.
B) In order to build the scummvm androidsdl port for specific engines only:
- - Open the "~/scummvm/dists/androidsdl/scummvm/AndroidBuild.sh" file
- - Find the following line which contains the configure command:
- $ANDROIDSDL/project/jni/application/setEnvironment-$1.sh sh -c "cd scummvm/bin-$1 && env LIBS='-lflac -lvorbis -logg -lmad -lz -lgcc -ltheora -lpng -lfreetype -lfaad -lgnustl_static' ../configure --host=androidsdl-$1 --enable-zlib --enable-vorbis --enable-mad --enable-flac --enable-png --enable-theoradec --disable-sdlnet --disable-libcurl --disable-cloud --enable-vkeybd --enable-release --enable-mt32emu --disable-readline --disable-nasm --disable-timidity --disable-fluidsynth --datadir=. "
+ - Depending on whether you are building a release or a debug build, open one of the "AndroidBuildRelease.sh" or "AndroidBuildDebug.sh" files in the "~/scummvm/dists/androidsdl/scummvm/" folder
+ - Find the following line which contains the configure command.
- Edit the line and after "../configure" add "--disable-all-engines --enable-engine=YYYY", where in place of "YYYY" you should specify game engine for which you want to build scummvm.
For example (building only for the bladerunner engine):
- $ANDROIDSDL/project/jni/application/setEnvironment-$1.sh sh -c "cd scummvm/bin-$1 && env LIBS='-lflac -lvorbis -logg -lmad -lz -lgcc -ltheora -lpng -lfreetype -lfaad -lgnustl_static' ../configure --host=androidsdl-$1 --disable-all-engines --enable-engine=bladerunner --enable-zlib --enable-vorbis --enable-mad --enable-flac --enable-png --enable-theoradec --disable-sdlnet --disable-libcurl --disable-cloud --enable-vkeybd --enable-release --enable-mt32emu --disable-readline --disable-nasm --disable-timidity --disable-fluidsynth --datadir=. "
+ $ANDROIDSDL/project/jni/application/setEnvironment-$1.sh sh -c "cd scummvm/bin-$1 && env LIBS='-lflac -lvorbis -logg -lmad -lz -lgcc -ltheora -lpng -lfreetype -lfaad -lgnustl_static' ../configure --host=androidsdl-$1 --disable-all-engines --enable-engine=bladerunner --enable-zlib --enable-vorbis --enable-mad --enable-flac --enable-png --enable-theoradec --disable-sdlnet --disable-libcurl --disable-cloud --enable-vkeybd --enable-mt32emu --disable-readline --disable-nasm --disable-timidity --disable-fluidsynth --datadir=. "
References:
diff --git a/dists/androidsdl/build.sh b/dists/androidsdl/build.sh
index f801d8c857..13bb56fd01 100755
--- a/dists/androidsdl/build.sh
+++ b/dists/androidsdl/build.sh
@@ -2,6 +2,43 @@
LOCAL_PATH=`dirname $0`
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
+# default build mode is release
+build_release=true
+
+if [ "$#" -eq "1" ]; then
+ if [ "$1" = "debug" ]; then
+ build_release=false
+ echo "Preparing for a debug build..."
+ elif [ "$1" = "release" ]; then
+ echo "Preparing for a release build..."
+ else
+ echo "Usage: $0 [debug|release]"
+ echo " debug: build debug package"
+ echo " release: build release package (default)"
+ exit 0
+ fi
+else
+ echo "Preparing for a release (default) build..."
+fi
+sleep 1
+
+if $build_release ; then
+ if [ -x scummvm/AndroidBuildRelease.sh ] && \
+ { cp scummvm/AndroidBuildRelease.sh scummvm/AndroidBuild.sh ; } ; then
+ echo "AndroidBuild.sh created successfully"
+ else
+ echo "Error: Required script AndroidBuildRelease.sh could not be copied to AndroidBuild.sh"
+ exit 0
+ fi
+else
+ if [ -x scummvm/AndroidBuildDebug.sh ] && \
+ { cp scummvm/AndroidBuildDebug.sh scummvm/AndroidBuild.sh ; } ; then
+ echo "AndroidBuild.sh created successfully"
+ else
+ echo "Error: Required script AndroidBuildDebug.sh could not be copied to AndroidBuild.sh"
+ exit 0
+ fi
+fi
if [ \! -d ../../../androidsdl ] ; then
cd ../../..
@@ -24,7 +61,14 @@ if [ \! -d ../../../androidsdl/project/jni/application/scummvm ] ; then
fi
cd ../../../androidsdl
-./build.sh scummvm
+if $build_release ; then
+ ./build.sh release scummvm
+else
+ ./build.sh debug scummvm
+fi
+
+# the androidsdl build.sh script ensures that the output file is named "app-release" even if we are in debug mode
mv project/app/build/outputs/apk/app-release.apk ../scummvm/dists/androidsdl/scummvm-debug.apk
cd ../scummvm/dists/androidsdl
+rm scummvm/AndroidBuild.sh
diff --git a/dists/androidsdl/scummvm/AndroidBuild.sh b/dists/androidsdl/scummvm/AndroidBuildDebug.sh
index c54aeb2c57..c54aeb2c57 100755..100644
--- a/dists/androidsdl/scummvm/AndroidBuild.sh
+++ b/dists/androidsdl/scummvm/AndroidBuildDebug.sh
diff --git a/dists/androidsdl/scummvm/AndroidBuildRelease.sh b/dists/androidsdl/scummvm/AndroidBuildRelease.sh
new file mode 100644
index 0000000000..fee183a544
--- /dev/null
+++ b/dists/androidsdl/scummvm/AndroidBuildRelease.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+LOCAL_PATH=`dirname $0`
+LOCAL_PATH=`cd $LOCAL_PATH && pwd`
+ANDROIDSDL=../../../../androidsdl
+
+#ln -sf libtremor.a $ANDROIDSDL/project/obj/local/$1/libvorbisidec.a
+ln -sf libflac.a $ANDROIDSDL/project/obj/local/$1/libFLAC.a
+ln -sf libvorbis.a $ANDROIDSDL/project/obj/local/$1/libvorbisfile.a
+ln -sf libtheora.so $ANDROIDSDL/project/obj/local/$1/libtheoradec.so
+ln -sf libsdl_net.so $ANDROIDSDL/project/obj/local/$1/libSDL_net.so
+ln -sf libglshim.a $ANDROIDSDL/project/obj/local/$1/libGL.a
+
+mkdir -p scummvm/bin-$1
+
+if [ \! -f scummvm/bin-$1/config.mk ] ; then
+ $ANDROIDSDL/project/jni/application/setEnvironment-$1.sh sh -c "cd scummvm/bin-$1 && env LIBS='-lflac -lvorbis -logg -lmad -lz -lgcc -ltheora -lpng -lfreetype -lfaad -lgnustl_static' ../configure --host=androidsdl-$1 --enable-optimizations --enable-release --enable-zlib --enable-vorbis --enable-mad --enable-flac --enable-png --enable-theoradec --disable-sdlnet --disable-libcurl --disable-cloud --enable-vkeybd --enable-mt32emu --disable-readline --disable-nasm --disable-timidity --disable-fluidsynth --datadir=. "
+fi
+$ANDROIDSDL/project/jni/application/setEnvironment-$1.sh make -j4 -C scummvm/bin-$1
+make -C scummvm/bin-$1 androidsdl
+mv -f scummvm/bin-$1/scummvm*.z* AndroidData
+cp -f scummvm/bin-$1/scummvm libapplication-$1.so