==========================================
How to generate a SirenSqueak VM for win32
==========================================

LAST EDIT: 14jan01

Copyright (c) 2001 by Helge Horch <heho@gmx.de>.
All rights reserved.

0.)	I assume you have installed:
	- Siren 2.8 (image, changes and source file)

*** continue at step 5 if you've downloaded the prebuilt .exe ***

1.) I assume you have also installed:
	- Squeak 2.9a3193
	- mingw32 gcc 2.95.2-crtdll
	- mingw32 (or cygwin) gawk 3.0.3 or 3.0.4
	- Andreas Raab's win32 VM sources (2.8build2)

2.)	Generate VM sources from Squeak 2.9a
	- start Squeak
	- file in MIDIPluginExt.1.cs
	- file in sqNamedPrimsPatch.1.cs
	
	- in Interpreter class>>translate:doInlining:forBrowserPlugin:,
	  comment out the "SqueakFFI." line.  This will ensure that the
	  SqueakFFI plugin will be compiled externally, and not be required
	  internally.  (For convenience.  If you know your way around the VM,
	  you may skip this step and adjust the compilation process yourself
	  later on.  It's just that the VM 2.8build2 tree is distributed
	  with FFI as an external plugin.)
	
	- evaluate "Interpreter translate: 'interp.c' doInlining: true"
	- evaluate "InterpreterSupportCode writeSupportFiles"
	
	- delete all files in the src/generated directory of the VM source tree
	- copy all generated *.c and *.h files to src/generated of the VM source
	  tree

3.)	Patch the VM sources, that is, in the src/win32 directory,
	- patch -c -l -b -iMakefile.mingw32.dif Makefile.mingw32
	- patch -c -l -b -iplatform.exports.dif platform.exports
	- patch -c -l -b -isqWin32MIDI.c.dif sqWin32MIDI.c
	- patch -c -l -b -isqWin32PluginSupport.c.dif sqWin32PluginSupport.c
	- patch -c -l -b -isqWin32Sound.c.dif sqWin32Sound.c
	- patch -c -l -b -isqWin32Window.c.dif sqWin32Window.c

4.) In the src/win32 directory
	- build.bat
	This should build a Squeak.exe in the Release/ directory.

*** reentry from above ***

5.)	Make sure that the Siren2.8.changes file ís in CR format. Early
	distributions were distributed in CRLF format.

6.)	Start Siren, e.g. by dragging Siren2.8.image to the freshly built
	Squeak.exe.

7.)	Once in Siren, file in Fronkenshteen.11.cs.  This recompiles MIDIPort
	to emulate the Siren MIDI primitives in terms of the builtin (slightly
	extended) MIDI primitives.

8.)	Try out the MIDI examples from the Siren outline.
	Have fun!
