Skip to content

Latest commit

 

History

History
48 lines (28 loc) · 1.06 KB

bootstrapping.pod

File metadata and controls

48 lines (28 loc) · 1.06 KB

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 and make 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