Fixing Module::Build

Ovid on 2005-05-19T17:42:45

So after quite a bit of acrimonious discussion in the Chatterbox on Perlmonks, an interesting compromise for Module::Build was discussed. Instead of Build.PL, name it Makefile.PL., have it check for, and install it if it doesn't find it, a generic make wrapper (written in Perl) that calls make (or nmake or gmake) if MakeMaker is being used but lets Module::Build do its own thing. A simple Makefile could be written out that does virtually nothing but call the build script. Thus, we would get backwards compatability and have a clean migration path.

One problem I see is ensuring that the make wrapper gets picked up before the actual make program. The first time this is run, the user would have to run Makefile.PL as root/Administrator to ensure that the wrapper gets installed, but if those challenges could be overcome, would this fix much of the current Module::Build complaints (outside of PREFIX)?


Another option?

djberg96 on 2005-05-19T22:07:32

What about the nuclear option?
  • Rewrite make in Perl (pake?) and actually make it friendly.
  • Remove all reliance on existing command line make tools. Use pake instead.
  • Include pake in Perl's standard library.
Just a thought.

Re:Another option?

Ovid on 2005-05-19T22:14:08

pmake

Step 1 is accomplished.

Re:Another option?

djberg96 on 2005-05-20T03:17:20

Looks like it hasn't been touched in 6 years and has a failure with Perl 5.8.3, but it's a start. I think this is where Ruby is headed, using either Rake or Rant instead of relying on wrappers for make.

Re:Another option?

Ovid on 2005-05-20T03:28:14

Java did the same thing with Ant. Strange that so many other communities view a dependency on make as a bad idea.