Thanks. I commited:<br><br>Name: CMakeVMMaker-MarianoMartinezPeck.90<br>Author: MarianoMartinezPeck<br>Time: 19 April 2011, 1:22:12 pm<br>UUID: 196e7bb1-3afa-4a3c-a517-f2e327379999<br>Ancestors: CMakeVMMaker-MarianoMartinezPeck.89<br>
<br><br>Just added some comments to explain why we used &#39;Cross&#39; for VMMaker, and why all plugins were put as external<br><br><div class="gmail_quote">On Sun, Apr 17, 2011 at 12:48 AM, Igor Stasenko <span dir="ltr">&lt;<a href="mailto:siguctua@gmail.com">siguctua@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;"><div class="im"><br>
On 17 April 2011 00:42, Mariano Martinez Peck &lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Sun, Apr 17, 2011 at 12:34 AM, Igor Stasenko &lt;<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; On 17 April 2011 00:16, Mariano Martinez Peck &lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Hi Igor. I was debugging a little the CMake generation and there are 2 things I don&#39;t understand:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; 1) Why you always use a &quot;Cross&quot; VMMaker instead of the specific OS ? I mean, in #prepareVMMaker you do:<br>
&gt;&gt; &gt; maker := VMMaker forPlatform: &#39;Cross&#39;.<br>
&gt;&gt; &gt; Shouldn&#39;t you put the correct OS ?   what are the differences doing so ?   was the functionality of those special classes like Win32VMMaker, UnixVMMaker, etc.. moved the CMakeVMMaker confs ?<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; Thanks to Eliot, generated sources are not differ from one to another<br>
&gt;&gt; platform, therefore Cross is ok. :)<br>
&gt;&gt;<br>
&gt;<br>
&gt; Ok, I will add such comment to the code.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; 2) Why you see all plugins as external to VMMaker ?  In #prepareVMMaker you do:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; allPlugins := self internalPlugins , self externalPlugins.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;   maker externalModules addAll:  allPlugins.<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; This is to specify which plugins sources to generate.<br>
&gt;&gt; The sources output are not different whether plugin will be external<br>
&gt;&gt; or not, therefore i just adding them to single list.<br>
&gt;&gt;<br>
&gt;<br>
&gt; But since when it is not different?  Again, thanks to Eliot ?<br>
&gt; I mean, there should be a reason why there were 2 instVar, one for internal and anotehr one for external. In fact, when I used VMMakerTool you need to define for each plugin how to compile it.<br>
&gt; This is why I don&#39;t understand why you now say it is the same.<br>
&gt; I do understand that the sources generation is the same, wether they are internal or external. BUT, why VMMaker needed to know whether they were internal or external then ? and why we don&#39;t need it anymore ?<br>

&gt;<br>
<br>
</div>AFAIK, they are used to generate <a href="http://plugins.int" target="_blank">plugins.int</a> and plugins.ext files,<br>
but CMake controls this directly (by generating corresponding<br>
configuration(s)) so these files are nothing else but just leftovers<br>
and not used anymore.<br>
<br>
Also, since with CMakeVMMaker we can control various linking/compiling<br>
options per plugin basis, there is also no longer need to manually<br>
write MakeFile(s) per plugin.<br>
<div class="im"><br>
<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I think this deserves a comment because it sounds pretty weird from a newbie sight.<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; I think a CodeGenerator deserves a bit of cleanup to reflect the<br>
&gt;&gt; changes described above.<br>
&gt;&gt; And since Cog VMs are not using GUI for generating sources, things<br>
&gt;&gt; like VMMakerTool can rest in peace.<br>
&gt;&gt; Personally i found it much simpler  to control internal/external<br>
&gt;&gt; plugins using CMakeVMMaker classes,<br>
&gt;&gt; comparing to old ways, when you had to manually add all plugins using GUI tool.<br>
&gt;&gt; Especially, when some plugins are fit only for specific target (like<br>
&gt;&gt; ThreadedFFIPlugin),<br>
&gt;&gt; or only for specific OS, like MacMenuBarPlugin.<br>
&gt;<br>
&gt; Yes, exactly. +100. If you read my blog post, that&#39;s exactly my opinion.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; Thanks in advance,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; Mariano<br>
&gt;&gt; &gt; <a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Best regards,<br>
&gt;&gt; Igor Stasenko AKA sig.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Mariano<br>
&gt; <a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
</div>--<br>
<div><div></div><div class="h5">Best regards,<br>
Igor Stasenko AKA sig.<br>
</div></div></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>