-
Notifications
You must be signed in to change notification settings - Fork 71
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).
-
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
.
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.