[Vm-dev] About VM version string

David T. Lewis lewis at mail.msen.com
Tue Apr 12 11:58:01 UTC 2011


On Tue, Apr 12, 2011 at 12:53:20PM +0200, Igor Stasenko wrote:
>  
> Hello,
> 
> i'd like to know what we can do to clean up the mess with Cog VM
> versioning, so people could identify it more easily.
> 
> Currently , what
> 
> Smalltalk vmVersion shows is:
> 
> Smalltalk vmVersion
> 
>  'Croquet Closure Stack VM [StackInterpreter
> VMMaker-oscog-IgorStasenko.Stasenko.49] StackVM VM 4.0.0'
> 
> but it doesn't says anything about which version of platform sources
> are used to build it.
> Also, a version number VM 4.0.0 makes no sense..
> 
> I'd really like to see what we can do to improve it.

(this may be a duplicate response, I'm having mail problems today)

The mechanism used in the standard VMMaker and Unix platform sources
works well in practice. This uses VMMaker class>>versionString to
identify the (approximate) version of Smalltalk sources, combined
with the Subversion revision number identified at compile time.

For the VMMaker side, I'd suggest adopting a similar (manually
maintained) convention for #versionString, but also add a
suffix to identify a cog VM versus interpreter VM. Thus if
the versionString is '1.2.3' the Cog VM might use '1.2.3c'.
The suffix identifier is helpful in the near term for maintaining
separate installation directories on unix, and possibly becomes
irrelevant whenever we get the code bases merged.

For the platforms sources on the git mirror with CMMakerVMMaker
build, some mechanism would be needed to identify version level.
Ian's build procedure on unix with Subversion works well for
this, but I don't know how to do the equivalent on the git
mirror. But I'm not really familiar with git, so hopefully
someone can suggest something here.

Dave



More information about the Vm-dev mailing list