Detailed Build Guide - pharo-project/pharo-vm GitHub Wiki
- Here a bird view of the building process for the development branch Pharo-10 when you run
make install
. - The name of the targets are also given.
- File paths are relative to the building directory of cmake (called
build
above).
Note: this building directory also contains a directory named build
(they should not be confused).
vmmaker_vm
Download a stable Pharo VM to./build/vmmaker/vm/pharo
- Download a recent Pharo image to
./build/vmmaker/image/Pharo*.image
Note: this is a specific development image since new features might be required by PharoX. vmmaker
Import the PharoVM source code (the.st
files) from the git repository into the downloaded Pharo image and save it as./build/vmmaker/image/VMMaker.image
. Note: this step also downloads the required Pharo dependencies needed by the new image.generate-source
Generate the C code of the VM in the./generated/
directory.all
Compile and link the C code from./generated/
and produce binaries in./build/vm/
. This is the step that takes most of the time. Note: PharoVM is not a single binary but is made of multiple dynamic libraries.install
Move files to the./build/dist/
directory. The produced VM is executable with./build/dist/pharo
.
Basic Usage
Once compiled, the VM entry point is at ./build/dist/pharo
.
Since PharoVM is only a VM, an image is required to do useful things.
The image used for the build process is available at ./build/vmmaker/image/Pharo*.image
(glob here because the name is variable since it contains version number and hash).
$ ./build/dist/pharo ./build/vmmaker/image/Pharo*.image eval '3+4'
7
Or run the graphical environment with.
$ ./build/dist/pharo ./build/vmmaker/image/Pharo*.image --interactive
Note: since this image is used by the build process, it is not advised to alter it, but you can still save it as a copy.