On Fri, Aug 01, 2003 at 11:35:47AM +0100, Steve Hay wrote:
> =====================
> # --- MakeMaker dynamic section:
> ## $(INST_PM) has been moved to the all: target.
> ## It remains here for awhile to allow for old usage: "make dynamic"
> #dynamic :: Makefile
> dynamic :: Makefile
>    @$(NOOP)
> =====================
> 
> while the corresponding section from the 6.12 build contains this:
> 
> =====================
> # --- MakeMaker dynamic section:
> ## $(INST_PM) has been moved to the all: target.
> ## It remains here for awhile to allow for old usage: "make dynamic"
> dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT)
>    $(NOECHO) $(NOOP)
> =====================
> 
> If that's relevant, then the latter looks more likely to be correct, 
> doesn't it?  Perhaps MM 6.06+ has correctly fixed a bug in MM 6.05, and 
> the only problem here is that libapreq was previously relying on that bug?

The problem is likely the MY::dynamic hack in c/Makefile.PL.  6.05 and
previous had this:

dynamic :: Makefile $(INST_DYNAMIC) $(INST_BOOT)

6.06_01 and up have this

dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT)

for some reason, MY::dynamic is trying to lop off everything after "Makefile"
and moving $(INST_DYNAMIC) to a different target in MY::top_targets.
(Where INST_BOOT is run from, I dunno).  But dynamic no longer matches
/Makefile/ so the hack fails and you wind up with INST_DYNAMIC built from
two places.

Coupled with the fact that its set LINKTYPE 'static' with a comment
"problems with things finding libareq.so, sort out later" leads me to
believe this was a work around a MakeMaker bug.

Chaning s/(Makefile\s+).*/$1/g to
s{ \$\(INST_DYNAMIC\) }{}g;
s{ \$\(INST_BOOT\) }{}g;
should "fix" the symptoms by restoring the hack for a quick fix.

For a longer term solution, try removing the MY::dynamic and 
MY::top_targets overrides entirely, plus changing LINKTYPE to 'dynamic' and
see what happens.

It would be nice if someone could dig through libapreq's version history
and figure out when and why this hack was put in.


-- 
WOOHOO!  I'm going to Disneyland!
        http://www.goats.com/archive/980805.html

Reply via email to