Title: RE: ExtUtils::MakeMaker or Module::Build

> On Thu, 20 Nov 2003, Orton, Yves wrote:
>
> > Well, I find it odd that it works the way it does. CPAN expects a
> > Makefile.PL. If an author doesnt bother to have makefile.pl created (my
> > understanding is that this is not default, I await correction) then the
> > module is not auto installable by a large cross section of the deployed
> > Perls out there. This is an odd decision about a system intended to replace
> > MakeMaker IMO.  Build.PL should disappear and be replaced entirely by
> > Makefile.pl.
>
> I wrote a patch for CPAN.pm to add support for Module::Build.

Thats great. Did it get applied? Even if it did it still wont help those that cannot upgrade their CPAN or install modules will it?

 
> To address your complain that Build.PL should be called
> Makefile.PL, if this were to happen, you'd then complain
> that Module::Build doesn't accept all the same options
> as EU::MM. 

Thats a little presumptious actually. First off im not complaining. I'm making observations that are grounded in my own experience and what Ive heard from others.  Second I would say that if Module::Build received an option it couldnt handle then failing gracefully is better than outright incompatibility.

To my mind having Module::Build work correctly with the 80%+ installations out there (yeah yeah, lies, damned lies and statistics) and causing problems for the remaining 20% is far superior result than having it only work with less than 1% of the installations out there.

> This is intentional, because many of the EU::MM options are implemented
> in a rather crufty way.  A good example is PREFIX.  Trying to duplicate
> this logic really isn't worth it, so Ken chose a much simpler way of
> doing local installs.

I know this decision was intentional. I also consider it to be foolish. Sorry, I know thats harsh but there you go.

Lets consider the situation as we have it from the POV of a CPAN.pm user without your patches (like me and the vast majority of production perl instances out there).

1. CPAN downloads the dist unpacks it and either
  A. Finds no Makefile.PL, and crashes directly.
  B. Finds a Makefile.PL which is simply a passthrough to Module::Build and Build.PL.
    i) CPAN passes special options to the Makefile.PL
    ii) where Module::Build either ignores them or dies with an error.

In what way is the superior to

1. CPAN downloads the dist, unpacks it and
2. Runs Makefile.PL with some set of special options
3. Makefile.PL uses Module::Build and either ignores them or dies with an error.

So by switching to Build.PL we dont actually gain anything but complexity and balkanization.

Its a bad call, and when things start getting closer 5.10 I think this subject will heat up quite a bit.

Regards,
Yves
I feel obliged to repeat what I said earlier. I think the Module::Build project and the CPANPLUS project are Good Things. I think that some of the implementation decisions are not such Good Things, and I worry that the impact of them over the long haul will be negative for both CPAN and for Module::Build.  Only time will tell if im right.









Reply via email to