Problems building the Mac VM

Jim Benson jb at
Tue Aug 11 17:31:24 UTC 1998

O'NEEL Bruce wrote:

> Hi,
>   I've poked at Squeak on my Mac at home, as well on the Solaris box
> at work, and I'm not sure I see how to extract the C source and build
> a VM from the distributed images.  Could someone please point me to a
> howto?


A brave undertaking. On a Macintosh, generating a VM is a multi step

First generate the source code for the interpreter.

 Time millisecondsToRun: [
  Interpreter translate: 'interp.c' doInlining: true.
  Smalltalk beep]

( this is taken from the Interpreter class ; category --translation ).
Depending on the speed of your machine, this may take a while to run.
This process generates the interpreter, memory manager, BitBlt, etc.

Then generate the support code for the interpreter:

    InterpreterSupportCode writeMacSourceFiles

This writes all the source files for the runtime/hardware support code
to the current image directory.  I usually place all of the generated
files into a new folder before compiling. On the Mac, a stuff-it file
called 'projectArchive.sit' is generated. Unstuffing reveals two
CodeWarrior 8 project files, Squeak68K.proj and SqueakPPC.proj.  (BTW,
CodeWarrior is a C  language "development environment"). Compile these
puppies. Almost magically, a couple of new Squeak VMs are  generated.

VM generation for other machine platforms is usually a little different.
Generally, the platform support ftp/web sit has the source code and the
make files for that platform.

As a sidebar, Interpreter generates itself through a Smalltalk to C
translation mechanism, which is implemented through class
CCodeGenerator. This is a useful tidbit should you decide to modify the
VM yourself.

Amaze your friends !!! Confuse your enemies !!! Build your own Squeak


More information about the Squeak-dev mailing list