Bootstrapping procedure for nqp-rx
NPQ-rx is a bootstrapped compiler, which means that it uses itself to compile itself.
To make the first compilation possible, a compiled version of the compiler is stored in /src/stage0/*.pir and included in the source code repository. Also the parrot virtual machine ships the same stage0/*.pir
files.
When you make changes to the compiler, eventually you need to update these stage0 files.
Here is how you proceed to update the bootstrapping files nqp-rx and parrot. At any stage, if make test
fails, don't go ahead with the following steps, but fix the problem first.
Make your changes, run
make test
Run
make bootstrap-files
andmake test
Commit the non-bootstrap files that you modified yourself
Commit the bootstrap files
Copy the stage0 files over to parrot:
cp src/stage0/*.pir $PARROT_SRC/ext/nqp-rx/src/stage0
In the parrot source, run
make test
and commit
References: http://irclog.perlgeek.de/perl6/2010-04-22#i_2253227