[Chicken-users] Playing with build utilities for Android

2014-01-02 Thread Kristian Lein-Mathisen
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!).

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. 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.

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!)

I'm basing my work on Bevuta's Makefile, and created a new branch here:

https://github.com/chicken-mobile/android-chicken/tree/chicken.mk

I've also scrapped together a gist that should reproduce what I've done so
far. This tries to continue what https://wiki.call-cc.org/embeddingdescribes:

https://gist.github.com/kristianlm/822

I though I'd announce it here in case it turns out to be useful! I'd also
love to hear about similar efforts.
K.
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] Playing with build utilities for Android

2014-01-02 Thread Peter Bex
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.

 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.

 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.

 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.

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