Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
VMMakerTool
Last updated at 1:25 pm UTC on 16 January 2006
VMMakerTool is the UI for VMMaker. It provides a friendly visage on top of the scriptable VMMaker class so that you can build and save configurations, rebuild individual plugins during your development cycle and so on.

To start it up, use:

VMMakerTool openInWorld

...then look around a bit . Hesitate over the various buttons and lists and a hopefully helpful help balloon will open. Try the Help button, which should provide much useful help. Some of that is presented here:-

Helpful Help info from the Help Button


How to use it

To build a configuration, drag plugins from the leftmost list to either the 'Internal Plugins' list or the 'External Plugins' list. Plugins that cannot be built on your machine due to missing files will refuse to be dragged.

Once you have a configuration, you can save it for later retrieval by pressing the 'Save Configuration' button.

To generate an entire code tree, press the 'Generate All' button. This will process all the vm and plugin files needed for your configuration. To generate only the files for the vm and any internal plugins, use the 'Generate Core VM' button. This will be most useful if you are experimenting with the design of the vm internals or new object memory layouts etc.

You can also generate internal or external plugins (including singly, using the menus in the lists) but be warned - internal plugins are tightly related to the generated file 'vm/sqNamedPrims.h' and adding or removing an internal plugin without regenerating this (via 'Generate Core VM') will cause much grief. In general when writing experimental plugins it is much simpler to build them as external during the development cycle.


Errors

A number of errors are possible, mostly relating to the two directory paths and the platform name. As much as possible these are trapped and you will see 'inform' menus to let you know. Inevitably, if you put in the effort, you will be able to confuse the tool and break it.

Beware of 'interlock' situations; for example where you generate a code tree for a configuration that has fewer files than exist in the destination directory already (e.g. from an earlier run). Currently there is no way to check this automatically and delete the excess files.

When you're done

If you successfully manage to build a VM and it works, pat yourself on the back. After you've recovered from the muscle strain, download the SqueakVMBuilderCertificate.pdf and display it proudly.