Alistair John Strachan c0dc80e6c7 Re-add libgcc linkage but fix it up. 15 gadi atpakaļ
..
Makefile.in c0dc80e6c7 Re-add libgcc linkage but fix it up. 15 gadi atpakaļ
README edc2b89811 Android documentation updates, archive target fix, and get render_gl2 working with GLES. 15 gadi atpakaļ
sfwrapper.cpp dda8c35e71 Android bugfixes and make the shader programs GLSL compatible (added precision specifiers). 15 gadi atpakaļ
sfwrapper.h ae27a49e5c More Android port work. 15 gadi atpakaļ

README

MEGAZEUX ON ANDROID

Android uses the Linux kernel and the build is similar to the UNIX one.

MegaZeux requires a new arch/ as the Android cross-compiler is weird and
uses hand-rolled linker flags to generate programs. This may go away over
time.

At the moment this Android port does nothing. It needs the following work:

- Possibly fix up software renderer to use Skia (needed for old phones)
- Implement audio support (audioflinger)

Most of the config.sh options work as-is, see docs/platform-matrix.html for
detailed information.

CHANGES TO ANDROID SOURCE TREE

At the moment the only change required to the source tree is to add a symlink
to work around a case issue when building on Linux:

cd $ANDROID_ROOT/external/tremor
ln -s Tremor tremor

You don't have to do this if you disable audio support (which makes a lot of
sense right now, actually).

BUILD DEPENDENCIES

Android makes this easy, because they bootstrap everything themselves. They
even provide the cross compiler. All you need to do is specify your android
build tree with "--prefix" and the build system does the rest.

CONFIGURATION

The config.sh line I've been using is:

./config.sh --platform android --prefix $HOME/android --disable-editor \
--disable-modular --disable-utils --disable-audio

However, I've made sure the utils build too, so the --disable-utils is
optional.

INSTALLATION

The "make build" and "make archive" targets work for Android, but they
generate ZIP files rather than .apk's, so you can only run MZX from SD.