View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

How to Build a VM

From: Tim Rowledge 
Subject: [ENH] VMMaker v2 first release now available
User-Agent: Messenger-Pro/2.10d (MsgServe/1.10) (RISC-OS/4.02)
X-Mailman-Version: 2.0
List-Subscribe: ,
List-Id: The general-purpose Squeak developers list 
List-Unsubscribe: ,
Date: Sat, 22 Sep 2001 21:38:55 -0700

After far too long, we (John McIntosh and I) finally have a version of
the VMMaker that should be usable by anyone. You too can at last earn
that coveted VM Builder Certification! Think of the career enhancing
properties that magnificent paper
will proffer!

Basically, VMMaker is a fairly major rejigging of the vm code generation
process that allows us to remove all those big strings from the image
(saving something like 1/2 Mb in the process) and store them in a form
very suited to a CVS (or other source control system) whilst providing
a tool that allows easy reconfiguration of the vm and integrating all
the platform specific code into a simple uniform tree. Consider it the
vm side of the modularity tools.

Note that it doesn't (at the moment) actually compile the code. You will
still have to do the appropriate magic incantations to invoke your
compiler/linker/bit-mangler. With luck we will soon be able to do even
this via that wonderful OS Process package David Lewis provided; perhaps
with some extra clever help even generate the makefile dynamically?

The code is available at

The accompanying 'platforms' tree which now contains all the static code
including the legendary 'Cross' platform is available in a "checked out
of cvs on linux" form, zipped, at

Somebody that actually knows how to drive cvs as if they have a clue
should please import this into our SourceForge partition. It seems to
be workable on my linux machine (I have checked in & out via linux,
Acorn and Mac) but that's about as far as my skill with cvs goes.

So how do you use this? Simple; read the fine manual included in the
project preamble. CVS checkout the platforms tree from SourceForge, file
the changeset into an image (seems all ok anywhere from 4282 to latest
4343, no idea about earlier) and do 'VMMakerTool openInWorld'. Drag
plugins from 'available' to either 'internal' or 'external'. Press one
of the buttons. Wait....
Resultant sources and assorted platform specific makefiles etc will
appear in 'src' (unles you edit the appropriate text field) ready for
you to do complier magic.

Use the VMMaker, Luke.

tim & jmm
Tim Rowledge,,
Useful random insult:- Been playing with the pharmacy section again.

Link to this Page