<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body style='font-family: Verdana,Geneva,sans-serif'>
<p>That's very cool! :)</p>
<p>Russell</p>
<p> </p>
<p>On 2013-09-11 14:28, Chris Double wrote:</p>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px"><!-- html ignored --><!-- head ignored --><!-- meta ignored --><span style="display: none;"> </span><!-- node type 8 -->
<div id="ygrp-mlmsg" style="position: relative;">
<div id="ygrp-msg" style="z-index: 1;"><!-- node type 8 -->
<div id="ygrp-text">
<p>Now that x86 Android tablets and phones are available I thought it'd be<br /> interesting to try and get a version of Self running on one. I succeeded<br /> in getting a Self binary running on the device. The REPL works but<br /> there's no GUI as there's no currently available backend.<br /><br /> A screen shot of it running on a Samsung Galaxy Tab 3 10.1 is here:<br /><br /> <http://bluishcoder.co.nz/self/android_self.png><br /><br /> The binary I used is:<br /><br /> <http://bluishcoder.co.nz/self/i686-android-linux-Self.bz2><br /><br /> To run it on a device, uncompress it and push it to it:<br /><br /> $ bunzip2 i686-android-linux-Self.bz2<br /> $ mv i686-android-linux-Self Self<br /> $ adb push Self /data/local/tmp<br /> $ adb shell<br /> device$ cd /data/local/tmp<br /> device$ chmod 0755 Self<br /> device$ ./Self<br /><br /> To build an image on the device, push the 'objects' directory there:<br /><br /> $ adb push objects /data/local/tmp<br /> $ adb shell<br /> device$ cd /data/local/tmp<br /> device$ ./Self<br /> device# 'worldBuilder.self' _RunScript<br /><br /> You can run directly on the device by installing 'Terminal Emulator' or<br /> a similar program instead of 'adb shell' from a connected PC.<br /><br /> To build this I made some hacks to the source to workaround Android<br /> differences. The patch is here:<br /><br /> <http://bluishcoder.co.nz/self/android.patch><br /><br /> It applies on top of my Tup tree at:<br /><br /> <https://github.com/doublec/self/tree/tup><br /><br /> Build a standalone Android NDK for x86 with:<br /><br /> $ cd $NDK_HOME<br /> $ ./build/tools/make-standalone-toolchain.sh --arch=x86 \<br /> --install-dir=/somewhere/stk<br /><br /> Add it to your patch and run 'tup upd' in the Self source directory with<br /> that patch applied:<br /><br /> $ cd $SELF_DIR<br /> $ export PATH=/somewhere/stk/bin:$PATH<br /> $ tup init # <-- only needs to be run once<br /> $ tup upd<br /><br /> The resulting 'Self' binary is the Android binary and will run on x86 devices.<br /><br /> Chris.<br /> -- <br /> http://www.bluishcoder.co.nz</p>
</div>
<!-- node type 8 -->
<div style="color: #fff; height: 0px;"></div>
<!-- node type 8 --><!-- node type 8 --><!-- head ignored --><!-- meta ignored --><!-- node type 8 --><!-- node type 8 --></blockquote>
<p> </p>
<div> </div>
</body></html>