[Vm-dev] VM Recipe: How to build an interpreter VM on Linux

Phil (list) pbpublist at gmail.com
Sat Feb 6 22:21:32 UTC 2016


On Sun, 2015-04-12 at 22:57 -0400, David T. Lewis wrote:
> How to build an interpreter VM from source on a typical Linux or Unix
> system:

How does the interpreter VM differ from the stack VM in the Cog branch?
 I'm familiar with what Cog and Spur bring to the table, but not how
these older VMs differ. (or for that matter if I should even be
considering these VMs 'older'... are there situations where they are
still recommended on platforms where Cog, and now Spur, are supported?)


> Install development tools for your Linux system (32-bit libraries are
> not required).
> Install CMake, either from your Linux distribution or from www.cmake.
> org
> Install Subversion, either from your Linux distributiion or from
> https://subversion.apache.org/
> Make a new, empty, directory for your work.
> In that directory, download the full platforms sources from the
> Subversion
> repository. Download everything, whether you need it or not. The
> Subversion
> directory information will be used in the build process, so do not
> cut
> corners to save space.
>   $ svn co http://squeakvm.org/svn/squeak/trunk/platforms
> Also in the new directory, download the generated sources. This is an
> up to
> date copy of source files generated from the Smalltalk source code in
> VMMaker.
> You can generate them yourself by loading VMMaker, but using the
> files from
> the Subversion repository is a faster way to get started.
>   $ svn co http://squeakvm.org/svn/squeak/trunk/src
> You will now have ./platforms and ./src directories with the latest
> source
> code for the VM. Make another subdirectory called ./build that you
> will
> use to build the VM.
>   $ mkdir build
> Change to the build directory.
>   $ cd build
> Copy the example Makefile into your build directory.
>   $ cp ../platforms/unix/cmake/Makefile.example Makefile
> Build the VM
>   $ make
> Install the VM
>   $ sudo make install
> You now have a VM that runs that classic Squeak image formats,
> including
> the 64-bit version (see http://build.squeak.org/job/Squeak%2064-bit%2
> 0image/).
> This is a traditional context interpreter VM. It will not run the
> latest
> high performance Spur image formats. Please refer to the Cog and Spur
> VM
> development at http://www.mirandabanda.org/cogblog/ and
> http://www.mirandabanda.org/files/Cog/VM/ for the latest Cog and Spur
> VM development, and for VMs that support the new Spur image formats.
> Dave

More information about the Vm-dev mailing list