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
buildabove).
Note: this building directory also contains a directory named build (they should not be confused).
vmmaker_vmDownload a stable Pharo VM to./build/vmmaker/vm/pharo- Download a recent Pharo image to
./build/vmmaker/image/Pharo*.imageNote: this is a specific development image since new features might be required by PharoX. vmmakerImport the PharoVM source code (the.stfiles) 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-sourceGenerate the C code of the VM in the./generated/directory.allCompile 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.installMove 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.