Skip to content

Detailed Build Guide

Hernán Morales Durand edited this page Feb 25, 2023 · 1 revision
  • 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).

  1. vmmaker_vm Download a stable Pharo VM to ./build/vmmaker/vm/pharo
  2. 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.
  3. 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.
  4. generate-source Generate the C code of the VM in the ./generated/ directory.
  5. 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.
  6. 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.

Clone this wiki locally