Subsections

2 Generating your own VM and plugin sources

Generating your own VM/plugin sources might be necessary for various reasons:

Version 3.2 (and later) of Unix Squeak use VMMaker to generate the core interpreter and plugin sources.

Start Squeak in the top-level directory (the one containing the platforms directory); for example:


  $ ls
  src platforms ...
  $ squeak MyCoolPlugin.image

Open a VMMakerTool and modify the setup to your liking.

Note: The VMMaker configuration used to build the distributions of Unix Squeak is available in platforms/unix/config/VMMaker.config.

Then click on the relevant ``generate ...'' button. You can now `configure; make; make install' in your blddir (as described above).

Note: You only need to run configure once for a given blddir (on the same host). If you modify the choice of plugins (or change whether they're internal/external) then you can update the build environment by running the config.status script in the bldddir, like this:
  $ squeak MyCoolPlugin.image
  ... generate new sources ...
  $ cd blddir
  $ ./config.status
  $ make
This is much faster than running configure all over again. (In fact, make should detect any changes to the plugin configuration and re-run config.status for you automatically.)

Note: `configure' doesn't actually create any files. The last thing it does is run `config.status' to create the configured files in blddir from the corresponding file.ins in the unix/config directory. So in the remainder of this document the phrase `during configuration' means either when running `configure' for the first time or running `config.status' to update an already configured build environment.

2.1 How configure finds the src directory

Starting with version 3.7 configure looks in two places for the src directory, in the following order, and uses the first one that it finds:

In other words, if you want to use your own generated sources without deleting the built-in generated sources, generating them into a src directory next to platforms (and then re-running configure) will do what you want.

2009-08-12