Thanks for the patch.  I ultimately decided to refactor things slightly
differently from the patch (although it did help me to crystallize
exactly where the problems were).  In particular, I basically
reconfigured the build system so that the proper way to address a
dependency issue is to re-run Configure.pl.  In particular:

a. Configure.pl always checks for a parrot that is >= PARROT_REVISION.

b. Running Configure.pl performs a "make clean" (to remove any left-over
files from previous builds).

c. Any changes to the build environment issues a warning that the
Makefile is out of date and that Configure.pl needs to be re-run.

d. The "make parrot" target now simply calls Configure.pl with --gen-parrot.


This resolves the issue from the original post as follows:

1. Configure.pl now dies with a helpful message if the version of Parrot
being used isn't >= PARROT_REVISION.

2. The Makefile is considered "out of date" if any of the build
components (including Parrot) are changed, and issues a warning to
re-run Configure.pl .

3. 'make parrot' now simply calls Configure.pl --gen-parrot, which will
update Parrot if necessary, regenerate the Makefile, and perform a 'make
clean' from any previous build.

4. The Makefile dependencies that would cause dynpmc.pl to be executed
even when not needed have been eliminated.


Closing ticket, if any further problems arise, feel free to reopen this
ticket or open a new one.

Thanks!

Pm

Reply via email to