Make sure you have the Android source, have run lunch full-eng, etc, to get all the binaries into your path. You'll need to edit one file, $android_root/bionic/libc/include/stdlib.h, to get Inferno to compile properly. Go toward the end of the file and find the section below:{{{#if 1 /* MISSING FROM BIONIC - ENABLED FOR STLPort and libstdc++-v3 *//* make STLPort happy */extern int mblen(const char *, size_t);extern size_t mbstowcs(wchar_t *, const char *, size_t);extern int mbtowc(wchar_t *, const char *, size_t);/* Likewise, make libstdc++-v3 happy. */extern int wctomb(char *, wchar_t);extern size_t wcstombs(char *, const wchar_t *, size_t);#endif /* MISSING */}}}Change the "#if 1" to "#ifndef INFERNO".# Download the AGCC script from [http://jfloren.net/~john/agcc] and put it in your $PATH somewhere.# Create the directory /data (under the root, yes!) because this will make things easier later.# Download Inferno from Vita Nuova ([http://www.vitanuova.com/dist/4e/inferno-20100120.tgz]) and untar it into /data (e.g. "cd /data && tar xzvf inferno-20100120.tgz"). "cd" to the inferno directory and do "hg pull" to make sure you're up to date.# Download my stuff with "hg pull http://bitbucket.org/floren/inferno"# Edit /data/inferno/mkconfig such that:## ROOTDIR = /data/inferno (even if the inferno files aren't currently being stored in this directory)## SYSHOST = Linux## OBJTYPE = 386# Run makemk.sh, then put /data/inferno/Linux/386/bin at the front of your $PATH# Run "mk nuke && mk install"# Go back and set `OBJTYPE = arm` and `SYSHOST = Android` in mkconfig# Run "mk nuke && mk install"# You'll need to adb push /data/inferno to /data/inferno on the phone. This may take a while. If you're running an emulator, make sure you use the -partition-size option to get a big enough /data partition. I use -partition-size 1024, to get a gigabyte of space.# Run /data/inferno/Android/arm/bin/emu-g from the Android shell## Test the graphics by running "wm/wm" once Inferno has started and presented a prompt.
Make sure you have the Android source, have run lunch full-eng, etc, to get all the binaries into your path. You'll need to edit one file, $android_root/bionic/libc/include/stdlib.h, to get Inferno to compile properly. Go toward the end of the file and find the section below:
{{{
#if 1 /* MISSING FROM BIONIC - ENABLED FOR STLPort and libstdc++-v3 */
/* make STLPort happy */
extern int mblen(const char *, size_t);
extern size_t mbstowcs(wchar_t *, const char *, size_t);
extern int mbtowc(wchar_t *, const char *, size_t);
/* Likewise, make libstdc++-v3 happy. */
extern int wctomb(char *, wchar_t);
extern size_t wcstombs(char *, const wchar_t *, size_t);
#endif /* MISSING */
}}}
Change the "#if 1" to "#ifndef INFERNO".
# Download the AGCC script from [http://jfloren.net/~john/agcc] and put it in your $PATH somewhere.
# Create the directory /data (under the root, yes!) because this will make things easier later.
# Download Inferno from Vita Nuova ([http://www.vitanuova.com/dist/4e/inferno-20100120.tgz]) and untar it into /data (e.g. "cd /data && tar xzvf inferno-20100120.tgz"). "cd" to the inferno directory and do "hg pull" to make sure you're up to date.
# Download my stuff with "hg pull http://bitbucket.org/floren/inferno"
# Edit /data/inferno/mkconfig such that:
## ROOTDIR = /data/inferno (even if the inferno files aren't currently being stored in this directory)
## SYSHOST = Linux
## OBJTYPE = 386
# Run makemk.sh, then put /data/inferno/Linux/386/bin at the front of your $PATH
# Run "mk nuke && mk install"
# Go back and set `OBJTYPE = arm` and `SYSHOST = Android` in mkconfig
# Run "mk nuke && mk install"
# You'll need to adb push /data/inferno to /data/inferno on the phone. This may take a while. If you're running an emulator, make sure you use the -partition-size option to get a big enough /data partition. I use -partition-size 1024, to get a gigabyte of space.
# Run /data/inferno/Android/arm/bin/emu-g from the Android shell
## Test the graphics by running "wm/wm" once Inferno has started and presented a prompt.