Thanks Eliot for the explanation. So, some of those confs are incorrect. I will commit a fix tonight.<br><br>Mariano<br><br><div class="gmail_quote">On Wed, Apr 13, 2011 at 6:35 PM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> <br><br><br><div class="gmail_quote">On Wed, Apr 13, 2011 at 9:06 AM, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 <br>Hi Eliot. I am not sure if I understand correctly these flags, and if I do, then I think the CMake configurations are wrong. <br><br>First, what are those flags intended for?   Which should be tuned on and which one off for both, release and debug ?<br>

</blockquote><div><br></div><div>NDEBUG is a Mac OS X/FreeBSD/Linux flag that controls asserts.  To get asserts working in Cog it was easiest to use this flag.  So if NDEBUG=0 asserts are eliminated and if NDEBUG=1 they are included and cause a warning to be printed to stdout when enabled (via a call to warning).  See platforms/Cross/vm/sqAssert.h.  Hence NDEBUG=0 for production and NDEBUG=1 for debug and assert VMs.</div>

<div><br></div><div>DEBUGVM is a flag controlling details of code generation for the entry-points that jump from the interpreter into machine code.  Seer DEBUGVM and Debug in src/vm/cogit.c.  I needed this early on in development when the system was flakey.  Now I never use it.  One might suggest eliminating it but it will probably be useful again when we add new code generators (e.g. for ARM and x86-64).  So DEBUGVM=0 for production and assert VMs and either 1 or 0 for debug VMs, depending on what kind of problems you&#39;re looking to debug.</div>

<div><br></div><div>HTH</div><div>Eliot</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>In Unix/Windows conf, onlt for release, these are set:<br>-DDEBUGVM=0 -DNDEBUG<br><br>Mac Carbon release<br>-DDEBUGVM=0 -DNDEBUG=1<br><br>Mac Cocoa Cog (CocoaIOSCogConfig) debug<br> &#39;-DNDEBUG=1&#39; &#39;-DDEBUGVM=0&#39;<br>


<br>Mac Cocoa Cog (CocoaIOSCogConfig) release<br>&#39;-DNDEBUG=1&#39; &#39;-DDEBUGVM=0&#39; <br><br clear="all">Mac Cocoa Cog MT  debug<br>-DNDEBUG=0&#39; &#39;-DDEBUGVM=1&#39;<br><br clear="all">Mac Cocoa Cog MT  release<br>


&#39;-DNDEBUG=0&#39; &#39;-DDEBUGVM=1&#39;<br><br><br>So...this is a mess.  Mac Cocoa Cog MT,  have the same for both release and debug. Is this correct?<br>Mac Cocoa Cog, idem Mac Cocoa Cog MT<br><br>What is worst, Mac Cocoa Cog MT is the opposite of Mac Cocoa Cog <br>


<br>so...i have no idea how this should be, but sounds strange for me<br><br>Cheers<br><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>
<br></blockquote></div><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>