Of course Schwern says ExtUtils::MakeMaker is dead. He's the one trying to kill it. It's still the workhorse that gets modules installed, though.
I'm not going to worry about it until Module::Build is in the standard distribution and enough people have upgraded their perl distros.
| [reply] |
Perhaps we should be suggesting resources that detail the use of the new methods that do not rely on ExtUtils::MakeMaker? At least that is the feeling I get from reading slides from Michael Schwern's presentation "MakeMaker is Doomed". In this talk he recommends Module::Build.
MakeMaker cannot really begin to fade away until Module::Build is part of the Perl core distribution. I've heard talk that that will happen with 5.10, but, AFAICT, it hasn't happened yet. And the fading won't get really serious until Module::Build is so well established that established module-authors (myself included) feel compelled to start including Build.PL scripts in their CPAN distros along with Makefile.PL. Then, in a later version, we can begin to imagine not including MakeMaker in the core distribution. That's a long ways off, IMH.
Having peered into MakeMaker's innards, I can well appreciate what Schwern goes through in attempting to maintain it.
All that being said, what I would welcome (and what you are welcome to volunteer for) is a supplement to cog's tutorial which provides a point-to-point guide for building a Build.PL file to accomplish what a Makefile.PL does at least for a pure Perl distribution.
jimk
| [reply] |
My recollection is that the first module that I tried to install that needed Module::Build actually installed it as a prereq. And even then you can write a Makefile.PL that is just a wrapper around Build.PL for those that can't or won't be able to use the new build stuff. Is this inaccurate?
Isn't this person that we are trying to help build a module distribution not an established module author anyway?
| [reply] |
You can't automatically install it as a prerequisite unless you know how to install it. It's a bit of a Catch-22: you can't process a Build.PL until you have Module::Build, and you can't install Module::Build (for the first time, at least) with a Build.PL. :)
| [reply] |