People keep saying that there are all sorts of different make(1) programs out there and different command line syntax and whatnot, but in all the stuff I read about Perl and all the places I teach and all the people I work for, this has never been an issue.
Absence of evidence is not evidence of absence :-)
Different incompatible make's, platforms without make, platforms and installations where PREFIX doesn't work properly are problems I've hit fairly often.
Before Module::Build I wasted weeks sorting out installation problems on these boxes. Getting appropriate versions of make installed. Tweaking ghastly conditional scripts to plonk the appropriate make syntax for the appropriate box. Hitting my head against the wall again and again as my users complained that the installation had broken again on the fardling VMS box.
I'd actually started writing my own pure-perl replacement for EU::MM - but then I found Module::Build.
Module::Build solved those problems for me. I like Module::Build. My clients like Module::Build. When I've used Module::Build it has "just worked". On Windows boxes. On VMS boxes. On Solaris boxes. On SunOS boxes. On Linux boxes.
I understand this has not been everybody else's experience - but I've used it a lot and have only occasionally hit problems that were down to M::B, and when I have it's been fixed in developer release before I got a chance to report it.
A lot of those features sound like niceties for developers, whereas users really don't care.
My users care because I can get installations to them that work on all their platforms a lot faster than when I was tweaking make files. No more of those "it's suddenly stopped working on the VMS box" two weeks after we thought we'd fixed the last bug.
Arguments against MakeMaker aren't arguments for Module::Build.
That depends on the argument. If I have a problem that EU::MM solves only with a great deal of pain and effort, and M::B solves trivially - then that's a darn good argument for M::B in my eyes.
I persoanlly have yet to see, in any discussion here or elsewhere, anything that would make me want to use Module::Build. You say that its easier, but I didn't think thihngs were hard before.
Then I think you've been lucky :-)
You're right EU::MM works most of the time in most places - because nice people like schwern spend an insane amount of time on it's evil internals. But where it doesn't work EU::MM is a complete and utter git to fix. When you need to make those make files do something a little bit different it's a git to implement when you have a half dozen mutually incompatable versions of make to deal with. Unfortunately there isn't a simple fix since the reason it's a git is its make based architecture. The EU::MM internals just scare me!
I'm not saying that people shouldn't use Module::Build, but I also don't think a small group should try to force it on everyone else.
That's the thing that I'm just not understanding. I'm not seeing anybody trying to force stuff on people.
Some people had problems with EU::MM. Some people came up with a possible solution with M::B. Some people (like me) found M::B solved the problems they had and used it.
I guess I did "force" the people using the application to use M::B - but they didn't mind since it meant that all their hard to diagnose time wasting installation problems just went away. I can't see that as a bad thing.
In reply to Re^2: Why Module::Build?
by adrianh
in thread Why Module::Build?
by Ovid
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |