On Wed, Feb 23, 2011 at 12:54 AM, Luca Dionisi <span dir="ltr"><<a href="mailto:luca.dionisi@gmail.com">luca.dionisi@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Tue, Feb 22, 2011 at 3:51 PM, Luca Dionisi <<a href="mailto:luca.dionisi@gmail.com">luca.dionisi@gmail.com</a>> wrote:<br>
> The only way I found to force the relevant code to be included was this command:<br>
><br>
> EXTRA_CFLAGS='-DSTACKLESS -D__arm32__ -DPy_STACKLESS_H' make<br>
><br>
> But then I get an error during the build of ./Stackless/core/slp_transfer.c<br>
<br>
</div>Never mind. The comment in that file told me what to do.<br></blockquote><div><br></div><div>Hi Luca,</div><div><br></div><div>Specifying "STACKLESS" should be completely pointless.  This is defined in "stackless.h" and undefined by the same file if you do not have the required symbols.  If by defining "Py_STACKLESS_H" you are preventing "stackless.h" from being included, then you are doing it wrong.</div>
<div><br></div><div>The real warning sign here is that you have to define "__arm32__".  This indicates to me that your cross-compilation environment is non-standard or incorrect</div><div><br></div><div>So here are your alternate options, as I see them:</div>
<div>- Just go with what you have because it works.</div><div>- Fix your cross compilation tool if it is not set up correctly, or working correctly, so that it provides the correct symbols (i.e. "__arm32__").</div>
<div>- Find out what symbols your cross compilation tool is providing (there's a gcc option for this) and identify if perhaps your target environment is one with slightly different symbols than Stackless handles.  Identify what the correct ones are and how they map to the existing switching support you are using, and submit a patch for Stackless so they work too.</div>
<div><br></div><div>Cheers,</div><div>Richard.</div><div><br></div></div>