Building Exupery on Windows
Last updated at 12:58 pm UTC on 16 December 2006
This HOWTO contains information how to get the development version of the Exupery (from Exupery repository on SqueakSource) running, including building a Windows Squeak virtual machine, so you can start experimenting and contributing.
This HOWTO was tested with:
- squeak3.9-final-7067 and squeak-dev-72 images
- squeakvm trunk - revision 1599
The assumption is you have FFI, VMMaker (the one from Exupery repository) and Exupery already loaded. If you are not sure how to do it, feel free to ask on Exupery or beginner lists.
You will also need Subversion to download trunk source code.
1) get the platform-specific source code of Virtual Machine from trunk of squeakvm repository  (use command-line svn, TortoiseSVN, etc.).
2) download archive containing C compiler and other tools needed from , unpack it into C:\ and include C:\gnutools\bin directory into PATH environment variable.
3) get Exupery C source files from , create <trunk directory>\platforms\win32\plugins\ExuperyPlugin directory and copy there ExuperyPlugin.h and sqWin32ExuperyPlugin.c.
4) run Squeak, remove class Win32VMMaker and install the newer version from <trunk directory>\patforms\win32\build\Win32VMMaker.st.
5) open VMMaker (World -> open... -> VMMaker), point Path to platforms code to <trunk directory>\platforms, set Platform name to win32 and insert into Path to generated sources path to <trunk directory>\platforms\win32\build\src . Then right-click -> make all internal in pane Plugins not build. Finally start generating C source files of virtual machine by clicking on Entire button.
6) go into <trunk directory>\platforms\win32\build and start the build process by invoking make. After build finishes, go into <trunk directory>\platforms\win32\build\obj\vm and use fresh Squeak.exe as your virtual machine.
7) if you want to be sure virtual machine was build correctly, run the tests in ExuperyStoryTests. If your virtual machine doesn't crash, everything looks good..
Note: Failures and errors can be raised due to ongoing work (don't forget it's development version) or missing packages used for testing (like GraphViz, etc.).
8) have fun!