I noticed that Module::CoreList does this ... do any other distros do this?
Yes. In the early days of Module::Build, I provided a parallel but unconnected Build.PL, just to get a feel
for Ken's shiny new module and how it worked. I kept
them separate because I wanted people to be able to
install my module even if Module::Build was broken
(and it was often broken in those very early days).
Naturally, I was appalled by the
horrific camel-like code duplication in two places,
Makefile.PL
and
Build.PL,
but was willing to endure this as a convenience to
my users. :-)
Much to my surprise, the simple act of adding a new
(and unrelated) Build.PL caused my module to fail
ActiveState's automated build process
because, at that time, if a distribution contained both
a Makefile.PL and a Build.PL, the ActiveState auto-builder
chose the Build.PL (and the current Module::Build at that
time failed its Windows tests). That has since been changed, ActiveState's auto-builder now chooses
Makefile.PL if both exist.
Oh, and after adding the new and unrelated Build.PL,
I had to change:
WriteMakefile(
NAME => 'Acme::EyeDrops',
VERSION => '1.45',
);
to:
WriteMakefile(
NAME => 'Acme::EyeDrops',
VERSION => '1.45',
PL_FILES => {}
);
in Makefile.PL to stop it trying to invoke Build.PL.
|