|There's more than one way to do things|
Module::Build compatibility woesby rinceWind (Monsignor)
|on Dec 07, 2003 at 12:20 UTC||Need Help??|
rinceWind has asked for the
wisdom of the Perl Monks concerning the following question:
Having been asked to write an enhancement to an existing CPAN module (CGI::Wiki::Kwiki), I find that its MANIFEST contains both a Build.PL and a Makefile.PL, which contain a different list of prerequisites.
I also know that this module has been worked on by more than one person. I just wonder what the currently accepted wisdom is for modules that offer both Build.PL and Makefile.PL for backwards compatibility.
I also wonder if I should just fix the dependency list in both scripts, or adopt a different mechanism in the module patch I am working on.
There are also wider issues involved, such as whether Module::Build needs to be installed on the target machine. With the current, traditional method, installing does not require Module::Build.
Note: I know it's a touchy subject with some people, but this is not an invitation for a flame war, as happened with this post. I am a fan of Module::Build, as is apparent from my review of this module. Do you agree with the second anonymonk's reply to this review?
I'm Not Just Another Perl Hacker
Update: The Makefile.PL contains a comment at the top, to indicate that is was generated by Module::Build::Compat->create_makefile_pl. Clearly, anyone updating this module needs to re-invoke this if they change Build.PL - this clearly does not happen automatically.
From the POD to Module::Build::Compat, the style used is 'traditional'. Maybe a call to create_makefile_pl needs to go inside Build.PL somewhere as an action. Thoughts please.