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/

Reply via email to