On 2013-04-30, at 10:04 AM, Ralph Möritz ralph.moeritz@outlook.com wrote:
Is it possible to build only certain parts of Gambit, eg. libgambc? The reason I ask is that I'm following Sean Chapel's Android example project on GitHub [1] and have to run `make' which breaks, but only after building libgambc, which is all I need. Happy coincidence. If the build order ever changes this fragile solution will stop working, so it would be nice to be able to specify libgambc as the `make' target ie. `make libgambc' or similar.
How about a "cd lib;make" ?
Also, Sean's example doesn't first do a `make bootstrap' and `make bootclean' to remove stale .c files. Not sure if this would be possible anyway since `./configure' would have to be run again after `make bootclean' with `--host=arm-linux-eabi'. Anyone?
It is best to build Gambit for your host platform with a "make bootstrap". This will give you a Gambit compiler (gsc-boot) which works on your development platform. Then, create a separate directory (e.g. clone Gambit's github repo), copy gsc-boot to the root of that directory, and then configure Gambit for your android development environment. If you ever change some .scm files, the gsc-boot compiler will translate them to the appropriate .c file. Note that this works because the Gambit compiler, when generating .c files from .scm files, has no dependencies on the target platform.
Also, you might want to use the misc/build-gambit-android script that automates the building of an android Gambit.
Marc