[squeak-dev] Letting the VM run multiple image formats (was: Condensing sources for a new release)

David T. Lewis lewis at mail.msen.com
Fri Feb 7 19:07:09 UTC 2020


On Fri, Feb 07, 2020 at 08:41:36AM +0100, Tobias Pape wrote:
> 
> > On 07.02.2020, at 03:03, David T. Lewis <lewis at mail.msen.com> wrote:
> > 
> > A 64-bit to 32-bit image converter would be a very good thing to have
> > in our toolkit :-)
> 
> Or, you know, making the VMs understand both formats ;)
>

Changing the subject line, because this is really a different topic.

It is very easy to set up VM to run various image formats. Technically,
it would be hard to do this from a single compiled VM executable, but
fortunately that is not needed. The only requirement is an agreed naming
convention for the installations.

I've posted a run script to handle this several times over the years, but
the key thing is this:

  # Scripts for running various interpreters
  INTERP_SCRIPT="squeak"       # Context VM for 32 and 64 bit images
  COG_SCRIPT="cog"             # Cog VM
  SPUR_SCRIPT="spur"           # Spur VM for 32-bit Spur image
  SPUR64_SCRIPT="spur64"       # Spur VM for 64-bit Spur image

As long as each flavor of VM is installed in a distict directory under
/usr/local/lib/squeak, and as long as the run scripts that point to
those directories have distinct names in /usr/local/bin, then the
selection of a correct VM executable for any given image format is
handled from a single shell script. I call it /usr/local/bin/run on
my PC, hence "$ run squeak.image" for any flavor of squeak.image.

I can re-post my run script if there is an interest, but it's useless
without establishing a naming convention.

Is there any interest?

Dave
 


More information about the Squeak-dev mailing list