Hello,
I am interested in autogenerating Perl modules for my distribution during user-side builds. To be precise, I have a Parse::Yapp-driven module, which I want to build on the user's side (motivation: 1. the parser is too huge to include it in the source distribution, 2. SPOT/DRY). To build the module on the user-side, I add the following to
WriteMakefile of
Makefile.PL (using
ExtUtils::MakeMaker):
depend => { pm_to_blib => 'blib/lib/OPTiMaDe/Filter/Parser.pm' },
and, at the end of the Makefile.PL:
sub MY::postamble {
<<'EOT'
blib/lib/OPTiMaDe/Filter/%.pm: %.yp
mkdir --parents $(@D)
yapp -v -m OPTiMaDe::Filter::Parser -o $@ $<
EOT
}
However, CPAN Testers run into a variety of troubles, from inability to find the rules to make the dependency, to 'yapp' not being found, and mkdir not working (mainly Windows).
My question: is there a standard way to write plugins for ExtUtils::MakeMaker (Dist::Zilla or any other equivalent) to produce Perl modules on the client side?