Hi all:

I just wanted to take a few minutes to thank everyone for their
discussion, particularly Michael Schwern (maintainer of
ExtUtils::MakeMaker among others) and Adam Kennedy (maintainer of
Module::Install among others).

I know this question comes up time and time again, and I had
personally advocated for preferring Build.PL over Makefile.PL, if both
are included in a distribution. I'd like to see a note in
Module::Build or Module::Build::Compat perldocs discussing this, but I
suppose their mailing list/bug reporting mechanism is best for that.

To that end, I have managed to convince the Debian Perl Packagers team
that it is beneficial to switch. However, anecdotal evidence from
upstream suggests that preferring Build.PL over Makefile.PL may break
the build process for our existing packages (some of which have had
patches made against Makefile.PL, I suppose).

What is left is testing the 202+ packages in our control that have
both a Makefile.PL and Build.PL to make sure nothing breaks. If we're
successful in our testing then I don't see any reason why our build
process won't be switched over, particularly given the advice of
everyone here.

Thanks again,

Jonathan Yu
On behalf of the pkg-perl team

On Fri, May 8, 2009 at 4:24 PM, Michael G Schwern <schw...@pobox.com> wrote:
> Adam Kennedy wrote:
>> 2009/5/6 Jonathan Yu <jonathan.i...@gmail.com>:
>>> The real question at hand here is: for modules that provide both a
>>> Makefile.PL and Build.PL, which should be preferred? More than that,
>>> from the perspective of CPAN authors, is it even useful to provide
>>> both? Now that Module::Build is a core module, maybe only a Build.PL
>>> should be included.
>>
>> When both Makefile.PL and Build.PL exist, you should ALWAYS run the
>> Module::Build installation process ( perl Build.PL; perl Build; perl
>> Build test; and so on...) and ignore Makefile.PL.
>
> I concur.  If you can run the Build.PL, run it.
>
> The Makefile.PL exists for compatibility only.  It is not perfect, never was
> intended to be and never will be.  It may contain only a subset of the logic
> in the Build.PL.  It may not fully emulate a real Makefile.PL.
>
> You can consider this definitive.
>
>
> --
> You know what the chain of command is? It's the chain I go get and beat you
> with 'til you understand who's in ruttin' command here.
>        -- Jayne Cobb, "Firefly"
>

Reply via email to