On Fri, May 20, 2005 at 06:05:37PM +0100, Nicholas Clark wrote:
> It fails to build DynaLoader on FreeBSD (5.2)
> 
> $ make
> Graph cycles through pm_to_blib
> 
> `makemakerdflt' not remade because of errors.
> 
> I'd infer that the problem is the addition of a dependency on pm_to_blib,
> but if this is the reversion of a previous change, then I'm confused as to why
> it used to work some time ago.

The functionality is the same (or so I thought), not the code.  Turns out
its, as always, more complicated than I thought.

The problem is pm_to_blib depends on $(TO_INST_PM) which contains 
DynaLoder.pm.  But to build DynaLoader.pm we need to run DynaLoader_pm.PL
which is run with -Iblib/lib -Iblib/arch so we need to run pm_to_blib
first... loop.

Which is where the whole problem came from in the first place.

So in order to preserve the DWIM magic behavior everyone expects I'm going
to have to sometimes run PL files with -Iblib/lib and sometimes not depending
on if the resulting file is in $(TO_INST_PM).  This is what make was doing
in the first place but by chance.  The explicit inclusion of the pm_to_blib
dependency was an attempt to fix parallel make builds.

I've patched things up to work and tried it out on bleadperl.  6.30 will
be out shortly.


-- 
Michael G Schwern     [EMAIL PROTECTED]     http://www.pobox.com/~schwern
Ahh email, my old friend.  Do you know that revenge is a dish that is best 
served cold?  And it is very cold on the Internet!

Reply via email to