[ENH] VMMaker; build source code trees for any platform on any platform

Tim Rowledge tim at sumeru.stanford.edu
Sat Jan 6 00:09:53 UTC 2001

I've just completed a reasonable v1.0 release of a VM maker tool. It
builds the source tree for any platform, with any combination of
internal/external/not-there plugins.

It currently assembles a new directory tree layout that is not suited to
any makefile regime except my own Acorn stuff, but that should be
trivial for anyone to adapt to. Basically all the core-VM & internal
plugins code is in one place and all the external plugins are in a list
of places. No need for the unix 'PLUGINS' file that Ian so dislikes. I
think that almost any directory tree could be produced with a little
fiddling, should you really want anything different.

As an added bonus, it is possible with the VMMaker to keep the platform
specific files (code, makefiles, resources etc) for ALL platforms in one
nice clean tree. The VMMaker can produce a source tree for any platform
that you have the plat. code for. All you need to complete the story is
a suitable cross-compiler; or maybe a file transfer utility.

There is no flashy UI yet. It would be nice to have one. Likewise there
is no form of savable/loadable configuration yet.

I also took the opportunity to cleanup the naming of some of the plugins
and associated files a little; as Ian and some others have noted, a few
of them were really pretty silly names. I have _not_ completely excised
all the code that really ought to be pluginised yet; the ADPCM stuff,
the remaining sounds stuff etc still ought to be pulled somehow. Because
of the plugin renaming there is a compatibiliy problem for now; some
methods need alterations to refer to the new names. I have changesets
available for that, or the renaming could be deferred maybe.

Rather than spam everyone with a bunch of big files, I've placed them in
http://sumeru.stanford.edu/tim/pooters/SqFiles/deltas/VMMaker/  -
including the 'platforms' directory for Acorn and unix for illustration
purposes. Note that ONLY the Acorn tree is correct, since I haven't
reworked the unix makefile stuff yet I'll assume some changes to the
unix tree will be warranted. If you're a autoconf/whatever expert with
a few hours to spare, let me know what you can do with it.

An interesting point to note is that the Acorn VM has become approx 10%
faster by shrinking the VM (by making _everything_ external, including
BitBlt) and the core VM is ~140Kb instead of ~300kb.


Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Useful random insult:- He demonstrates that beauty times brains is a constant.

More information about the Squeak-dev mailing list