Ken Williams <[EMAIL PROTECTED]> writes:
>Howdy,
>
>I've been trying to understand the ExtUtils:: modules recently
>(especially MakeMaker, but the module relationships too), and I've got a
>few questions.
>
>1) Why does the new() method create a new package name (++$PACKNAME)
>every time it's run? Under what conditions is new() called more than
>once in a single script? I don't think I've ever seen that happen.
The way MakeMaker works on nested extensions (e.g.
Tk800.???/Makefile.PL
Tk800.???/Text/Makefile.PL
Tk800.???/Event/Makefile.PL
is to run all the scripts in one process.
>
>2) Most of the initialization code takes place when you 'use
>ExtUtils::MakeMaker', not during the new() method. This means that the
>initialization data is stored in global variables, rather than as object
>member data. This in turn makes it very difficult to subclass
>MakeMaker.
Sub-classing is common - but one sub-classes not MakeMaker but MM_xxxx.
>I would like to try reorganizing this code a bit, and I
>hereby solicit abuse for it. ;-) If nothing else, I can make accessor
>methods on the class data.
>
>3) I'm curious about why only some MakeMaker methods are overridable in
>the MY:: package, and the rest aren't.
MY:: overides ExtUtils::MM_Unix not ExtUtils::MakeMaker.
>Wouldn't a simple subclassing
>scheme work better, so that people could do whatever they want? I'm
>finding it hard to get enough rope to hang myself.
>
>By the way, in order to get familiar with Leon's GraphViz stuff, I
>handmade a diagram of the MakeMaker @ISA tree. It's at
>http://www.mathforum.com/~ken/perl/MakeMaker-ISA.gif .
>
>
> ------------------- -------------------
> Ken Williams Last Bastion of Euclidity
> [EMAIL PROTECTED] The Math Forum
--
Nick Ing-Simmons
http://www.ni-s.u-net.com/