Skip to content
This repository has been archived by the owner on Feb 3, 2021. It is now read-only.

Commit

Permalink
[docs] bootstrapping guide
Browse files Browse the repository at this point in the history
  • Loading branch information
moritz committed Apr 22, 2010
1 parent 515d267 commit d823fc2
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions docs/bootstrapping.pod
@@ -0,0 +1,48 @@
=head1 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 F</src/stage0/*.pir> and included in the source code repository.
Also the parrot virtual machine ships the same
C<stage0/*.pir> files.

When you make changes to the compiler, eventually you need to update these
I<stage0> files.

Here is how you proceed to update the bootstrapping files nqp-rx and parrot.
At any stage, if C<make test> fails, don't go ahead with the following steps,
but fix the problem first.

=over

=item *

Make your changes, run C<make test>

=item *

Run C<make bootstrap-files> and C<make test>

=item *

Commit the non-bootstrap files that you modified yourself

=item *

Commit the bootstrap files

=item *

Copy the I<stage0> files over to parrot:

cp src/stage0/*.pir $PARROT_SRC/ext/nqp/src/stage0

=item *

In the parrot source, run C<make test> and commit

=back

References: L<http://irclog.perlgeek.de/perl6/2010-04-22#i_2253227>

0 comments on commit d823fc2

Please sign in to comment.