purpose and value of MANIFEST
Bruce Gray
bruce.gray at acm.org
Thu Sep 9 01:56:58 UTC 2010
On Sep 8, 2010, at 7:58 PM, Jonathan Leto wrote:
--snip--
> Which begs the question, why are we keeping generated
> stuff under version control?
To resolve the bootstrap issue.
For example (over-explained for posterity and lurkers):
OPS2C is a key part of the Parrot build; it creates the C code for
core ops.
Without it, Parrot cannot even be built, much less execute any
client (PIR/NQP/Perl6) code.
OPS2C was originally in Perl 5, but now has been re-written in NQP.
No NQP program can run without a built Parrot.
Therefore, Parrot can no longer be built on a clean (Parrot-free)
machine :(
Unless!... someone who *does* already have Parrot runs OPS2C and
stores the output where Parrot-less builders can access it.
Which is what we do :)
(By the way, shouldn't these bootstrap convolutions be specially
documented as such?)
> It is usually not necessary
I see no other alternative, given the bootstrap issue.
> and makes
> some diffs unnecessarily
> large and hard to wade through.
I agree about large diffs.
To reduce this issue, I suggest *always* spiltting bootstrap-touching
changes into (at least) two commits;
one (or more) with the changes to the non-generated files,
and a second (or last) *only* for the consequent Bootstrap Regeneration.
--
Hope this helps,
Bruce Gray (Util)
More information about the parrot-dev
mailing list