Hi All,<div><br></div><div>    in building up to the VM releases for 4.2 I would like to add meaningful source info to all VMs in a consistent way.  The main rationale here is to know exactly what source a VM was built from so that there&#39;s a chance of recreating it, hence to be able to use gdb-style debugging tools against source, and reduced chance of putting out different VMs that answer the same version info.</div>
<div><br></div><div>There are two elements to the source info.  One is the VMMaker package.  This is in the Cog VMs in getSystemAttribute: 1007 (Interpreter class) and getSystemAttribute: 1008 (Cogit class, if any).  But there&#39;s no similar specific info for the ensure VM source (platform tree, and hopefully generated source aincluded in it).  Rather than just provide a revision in whatever version control system we&#39;re using I&#39;d like us to use a url and a version identifier, e.g. &quot;<a href="http://www.squeakvm.org/svn/squeak/branches/Cog">http://www.squeakvm.org/svn/squeak/branches/Cog</a> 2359&quot;.  This could be getSystemAttribute: 1009 but that would probably break code that enumerates attributes until it gets an empty one since the StackInterpreter and Interpreter don;t have a Cogit class.  So, if there&#39;s agreement on including the url/version I would make that 1007 and move the Interpreter class and Cogit class to 1008 and 1009 respectively.   Since various version control systems don&#39;t necessarily provide a convenient way to derive the version info I suggest we modify the build system to include a file that is not included in the source tree that nas to be manually edited to contain the relevant string.  We can then provide helpful info close to the error location (when one tries to compile the file when its missing) that explain how to fill in the file.  (better ideas?)</div>
<meta charset="utf-8"><div><br></div><div>Also, the three platforms define their version info SQ_VERSION and VM_VERSION in different places and using different mechanisms, which makes it hard to keep things consistent.  I&#39;d like to see these defined in platforms/Cross/vm/ something (platforms/Cross/vm/sqVersion.h ? platforms/Cross/vm/sq.h?).  SQ_VERSION appears to be unused so I&#39;m nuking it from the Cog sources.  Does this make sense?</div>
<div><br></div><div><br></div><div>best</div><div>Eliot</div><meta charset="utf-8"><meta charset="utf-8"><meta charset="utf-8">