[ANN] FreeBSD now has Ada cross-compilers for ARM/Android

66 views
Skip to first unread message

jrmarino

unread,
Jul 23, 2011, 5:17:31 PM7/23/11
to
Way back in January I proved it was possible to run binaries on
Android that were written in Ada and compiled with GNAT-AUX (FSF
variant). Since then, I haven't done much because all I had was the
Android SDK emulator which is very slow, very limited, and only
supports the ARMv5 architecture. I was waiting to obtain real
hardware to continue, and that is still probably a few weeks away. I
wanted to run the full ACATS and gnat-dg tests on the cross-compiler
to characterize how true it is.

However, a few days ago, I picked it back up and built "Textris" on
it, and discovered a small problem with tasking. That has since been
resolved, and I wrote a little blog article on it:
http://www.dragonlace.net/posts/FreeBSD64-Android_cross-compiler_builds_Tetris_with_Tasking/

This weekend, I wrote four "ports" for FreeBSD. This allows any
FreeBSD user (i386 or amd64) to build their own Ada cross-compiler
(ARMv5 or ARMv7). Another blog article explains how to do it:
http://www.dragonlace.net/posts/GNATDroid_cross-compiler_ports_created_for_FreeBSD/

It would be a nice project for someone to blaze the trail on writing
Native Android phone/table applications without any Java. This is
possible from Android 2.3 onwards using the "NativeActivity"
functionality provided with the Android Native Development Kit (NDK).
The API require C bindings, but it shouldn't be too difficult.
http://developer.android.com/reference/android/app/NativeActivity.html

As for getting these binaries on the device itself, it appears that
the http://bsdroid.org project has unfortunately stalled, so if the
use of "adb" is needed, you might have to resort to using Linux, Mac,
or Windows and installing the Android SDK on them. A better way may
to root the device and put an ssh daemon on it and just scp the files
directly on it.

Once I run these compilers through the testsuite and am satisfied with
the outcome, I'll submit these ports for inclusing into the FreeBSD
ports repository. It would be great to see some folks build on my
work here, and I apologize for sitting on this for 6 months.

Regards,
John

Reply all
Reply to author
Forward
0 new messages