Thanks for your feedback, Peter.

On Fri, Jan 3, 2014 at 8:30 AM, Peter Bex <peter....@xs4all.nl> wrote:

> On Fri, Jan 03, 2014 at 01:44:41AM +0100, Kristian Lein-Mathisen wrote:
> > Hi folks,
> > and happy new year to all!
> >
> > I have been playing around with some simple build utilities to get
> Chicken
> > onto my Android phone (again!).
>
> Hello Kristian,
>
> Very cool!  Thanks for your continued work in this area.  Hopefuly we
> can get a *convenient* Android build from all this.
>

Yes, it'd be great to have end up with a simple 3-step guide to get
something up and running. I was able to run the official SDL2 android app
with this. But since I am missing bindings for opengl-es and sdl2, I can't
do much besides exiting the app "interactively". But I'm still excited
about that repl in the otherwise empty game-loop.


>
> > The fine work <https://github.com/chicken-mobile/android-chicken> by
> Bevuta
> > allows us to build a cross-chicken which can cross-compile eggs and the
> > Chicken runtime.
>
> But it's not a true cross-compiler, is it?  As I understood it, the
> Android Makefile from Bevuta just cross-compiles CHICKEN itself,
> completely, rather than providing a working csc on the host platform
> which generates executables for the target platform.
>

If I understand your definition of true cross-compiler, then it is exactly
what Bevuta gaves us: An android-csc and android-chicken-install which will
compile scheme files and eggs for both the host (like x86) and the target
(like arm). So getting eggs into your app is pretty easy, provided that
your egg doesn't have native dependencies or something else that
android-linux-armeabi doesn't like. I have successfully installed:

acorn     bitstring channel   clojurian
comparse  coops     glm       intarweb   irregex
json      lazy-seq  matchable medea      miscmacros
sendfile  spiffy    trie      uri-common uri-generic

But I haven't tried to produce an extensive list.


> > This is great, but I always spend a lot of time going from
> > there to getting a Chicken ecosystem running on my app, with eggs and a
> > repl. So I've played around with automating parts of that and integrating
> > it with ndk-build.
>
> I was hoping someone would do something like that.  It's the natural
> next step, and would simplify building for all these stupid different
> supported architectures.
>

Yes, but note that I haven't gotten around to that yet. It's just "armeabi"
for now, and we'll need 1 cross-chicken per such platform which isn't
great. So this still requires (probably many) manual steps.


>
> > What I've accomplished so far is basically fewer manual steps when
> starting
> > a new Chicken app:
> >
> > - autodetect package name and android platform when building
> cross-chicken
> > (no config-file editing which I always get wrong)
> > - provide an ndk module for chicken that your jni/main.c can depend on
> > - make the eggs and unit survive through installation (harder than you
> > think!)
>
> Have you considered simply filing a bugreport for the Android NDK?
> I think the requirement that all .so files must be prefixed with 'lib'
> is pretty bogus.  Hopefully if they do fix it this will be on the NDK
> side, and it could be used even for older devices.
>

I did not think of that! I will post on their groups and see why it's doing
that. Unfortunately, it's the on-device installer which doesn't extract
non-prefixed files. The libraries are in the apk-file but don't end up
under /data/data/package/lib like they should.

K.


>
> Thanks again!
>
> Cheers,
> Peter
> --
> http://www.more-magic.net
>
_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to