<br><br><div class="gmail_quote">On Fri, Mar 27, 2009 at 3:01 AM, Juan Jose Garcia-Ripoll <span dir="ltr"><<a href="mailto:juanjose.garciaripoll@googlemail.com">juanjose.garciaripoll@googlemail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">On Fri, Mar 27, 2009 at 7:17 AM, Red Daly <<a href="mailto:reddaly@gmail.com">reddaly@gmail.com</a>> wrote:<br>

> ECL has finally made it to the iPhone!<br>
<br>
</div>I forgot: Congratulations! :-)<br>
<br>
BTW, if you wish I can offer you to post the instructions in the wiki<br>
so that some other people may be able to build it, as well as to<br>
provide a script to automate the process (perhaps an option in<br>
"configure", as we used to have for Solaris before)</blockquote><div><br>Thanks.  I have posted the instructions here: <a href="http://lambdajive.wordpress.com/2009/03/27/common-lisp-on-iphone-ecl-comes-through-at-last/">http://lambdajive.wordpress.com/2009/03/27/common-lisp-on-iphone-ecl-comes-through-at-last/</a><br>
<br>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.<br>
<br>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:<br><br>        /* 1) Setup the environment for the execution of the thread */<br>
        pthread_cleanup_push(thread_cleanup, (void *)env);<br>        // set up the environment pointer first so that we can associate                                                                                         <br>
        // this environment with the currently executing pthread                                           <br>        ecl_set_process_env(env);<br>        ecl_init_env(env);<br>        init_big_registers(env);<br>        ecl_enable_interrupts_env(env);<br>
<br>It was previously something like<br>
        ecl_init_env(env);<br>
        init_big_registers(env);<br>
        ecl_set_process_env(env);<br>
        ecl_enable_interrupts_env(env);<br><br>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.<br>
<br>thanks, and any help getting all the options working for ECL on iPhone would be appreciated! :)<br><br>Red<br><br><br><br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<div><div></div><div class="h5"><br>
Juanjo<br>
<br>
--<br>
Instituto de Física Fundamental, CSIC<br>
c/ Serrano, 113b, Madrid 28009 (Spain)<br>
<a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>
</div></div></blockquote></div><br>