-
Notifications
You must be signed in to change notification settings - Fork 72
Detailed Development Guide
You can load the Pharo code of the VM using Pharo's git client Iceberg. You can do so by cloning directly this repository from Iceberg, or by adding an already existing clone to it.
Alternatively, if you're building the VM using the instructions above, the build process does already generate a Pharo image with the VM code loaded. You'll find such image at ./build/vmmaker/image/VMMaker.image
inside your build directory.
The build process is described above, so in order to generate a new PharoVM with your changes, there is different approaches.
-
Commit your changes (with Iceberg) into the local git repository you cloned then run from the building directory
make -B install
This will force a rebuild of a new VMMaker image by loading your new code and all its Pharo dependencies into the basic Pharo image. Downloaded are things are cached and not downloaded again. Note: this rebuild starts at the step 3
vmmaker
. -
Save your image (or overwrite the
VMMaker.image
file), then run in the building directory:cmake . -DGENERATE_VMMAKER=OFF -DVMMAKER_IMAGE=$IMAGEPATH && make install
where $IMAGEPATH is the path of your image or, if you just overwrote the image:
cmake . -DGENERATE_VMMAKER=OFF && make install
Note: this disable the generation of the vmmaker image. The rebuild starts at the step 4
generate-source
. -
Generate the C files yourself somewhere (in a Pharo playground for instance):
PharoVMMaker generate: #CoInterpreter outputDirectory: '/a/path/'
then run the following shell command in the
outputDirectory
given above:cmake -S "$PHAROVM" -B "$PWD" -DGENERATE_SOURCES=OFF && make install
where
$PHAROVM
is the root of the pharo-vm project (your local git repository for instance).Note: this rebuild starts at the step 5
all
. Here a fresh building directory can be used.