Thanks. I have posted the instructions here: http://lambdajive.wordpress.com/2009/03/27/common-lisp-on-iphone-ecl-comes-through-at-last/
I think most of the changes could probably be integrated into the main ECL branch eventually. However, I upgraded the Boehm garbage collector to the latest release and then patched it to work with the iPhone. I believe you mentioned earlier that there was some reason that you had not upgraded Boehm to the latest version.
Also, do you know what the status of threading is in general and on the mac? I fixed one bug that was crashing ECL when I attempted to start a new thread. This is the area of interest in threads.d:
/* 1) Setup the environment for the execution of the thread */
pthread_cleanup_push(thread_cleanup, (void *)env);
// set up the environment pointer first so that we can associate
// this environment with the currently executing pthread
It was previously something like
The problem was some function being called by ecl_init_env was trying to call pthread_getspecific(cl_env_key), but (pthread_setspecific(cl_env_key, env) had not yet been called for that thread.
thanks, and any help getting all the options working for ECL on iPhone would be appreciated! :)