[Module::Build] RE: ExtUtils::MakeMaker or Module::Build
Status: Beta
Brought to you by:
kwilliams
|
From: Orton, Y. <yve...@de...> - 2003-11-20 16:36:09
|
> 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.
|