Hi Gabriel. Even if you know all what I will say after, I think this is a good way to start this mailing list. So I will let you know what I understand. I am learning too, so let me know if I said something wrong.<br><br>The Squeak VM has two parts of code: a) one with the &quot;platform&quot; code (C hand-written code) ; b) VMMaker (written in Smalltalk)<br>
<br>a) platform code is written when there is C code that depends on the OS, where performance is needed, etc.<br>This code is in SVN in <a href="http://www.squeakvm.org/svn/squeak/trunk/platforms/">http://www.squeakvm.org/svn/squeak/trunk/platforms/</a><br>
<br>b) VMMaker is a package that it is in squeaksource which has the rest of the VM, written in a subset of Smalltalk called SLANG, which is then translated to C. Here you have Interpreter, ObjectMemory, etc.<br><br>So....for building a VM, you need both. However, b) is not always necessary, since the source (C) that is generated from VMMaker is also in the SVN (check the &quot;src&quot; folder in each platform folder). When you need to generate code from VMMaker?  <br>
- when you do changes to VMMaker (Interpreter, ObjectMemory, etc)<br>- When you need a VERY new vm which sources has not been uploaded to svn, or the vm is not released yet.<br><br>The biggest problem is how to map VM releases like  Squeak VM 4.2.5b1  to svn versions and VMMaker version. I don&#39;t know how to know that and I would appreciate to know it.<br>
Now....since a couple of months, we started to use a Metacello  configuration called ConfigurationOfVMMaker, which let you automatically download all you need. Here, I insisted on putting in the description of each version, with which SVN version you should work. So if you see for example #version13 it says in the description: &quot;SqueakVM svn revision 2202&quot;<br>
<br>Now...if you want to build the LATEST MacVM, you will fail. I spent several hours yesterday with Esteban Lorenzano and there are still several things to do by hand. If you are just playing with something, I recommend you to install a working set that we know it works:<br>
<br>- Metacello version 1.4<br>- svn version: 2203<br>- Pharo 1.0 (there are deprecations if you run in 1.1)<br><br>Now...for the debugging, if you use XCode, and you load the project with it, you will find that there are already pre-defined different distributions: Development and Deployment. <br>
So..if you choose Development and then you put build and debug, this will compile with all the needed -g parameters, and will then run the VM with GDB ;)<br>So...you can put breakpoints in the c code and debug like any other c program. In addition, if you want to put some flags in VMMaker, you will see that Interpreter implements #print: and friends...so inside Interpreter/ObjectMemory you can do  &quot;self print: &#39;I pass here!!!&#39;  &quot;   and that will be directly shown in the gdb console :)<br>
<br>Finally, for the work you are doing, I recommend you to use the InterpreterSimulator of CogVM. You can simulate the loading of the image (what you need).<br><br>Here are some useful links:<br><br><a href="http://www.pharocasts.com/search/label/vm">http://www.pharocasts.com/search/label/vm</a><br>
<a href="http://www.adrian-lienhard.ch/blog?article=building-a-pharo-squeak-vm-from-first-principles">http://www.adrian-lienhard.ch/blog?article=building-a-pharo-squeak-vm-from-first-principles</a><br><a href="http://book.pharo-project.org/book/Virtual-Machine/Building/">http://book.pharo-project.org/book/Virtual-Machine/Building/</a><br>
<a href="http://squeakvm.org/index.html">http://squeakvm.org/index.html</a><br><br>Cheers<br><br>Mariano<br><br><br><div class="gmail_quote">On Thu, Dec 2, 2010 at 3:06 PM, Gabriel Hernán Barbuto <span dir="ltr">&lt;<a href="mailto:gbarbuto@gmail.com">gbarbuto@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi<br>
<br>
I am using the OS X VM and I want to rebuild it with debug<br>
information. I am assuming that the version I downloaded doesn&#39;t<br>
contain debug information.<br>
<br>
I want to build a specific version. If I print Smalltalk vmVersion I get:<br>
<br>
 &#39;Squeak4.1 of 17 April 2010 [latest update: #9957] Squeak VM 4.2.5b1&#39;<br>
<br>
I am not sure how to relate this with VMMaker version and SVN revision.<br>
<br>
Thanks in advance.<br>
<br>
Gabriel<br>
_______________________________________________<br>
VM-beginners mailing list<br>
<a href="mailto:VM-beginners@lists.squeakfoundation.org">VM-beginners@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners</a><br>
</blockquote></div><br>