On Fri, Mar 27, 2009 at 3:01 AM, Juan Jose Garcia-Ripoll <juanjose.garciaripoll@googlemail.com> wrote:
On Fri, Mar 27, 2009 at 7:17 AM, Red Daly <reddaly@gmail.com> wrote:
> ECL has finally made it to the iPhone!

I forgot: Congratulations! :-)

BTW, if you wish I can offer you to post the instructions in the wiki
so that some other people may be able to build it, as well as to
provide a script to automate the process (perhaps an option in
"configure", as we used to have for Solaris before)

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



Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28009 (Spain)