On 4/17/07, Eric Wilhelm <[EMAIL PROTECTED]> wrote:
# from Sébastien Aperghis-Tramoni
# on Tuesday 17 April 2007 05:12 pm:
>If you really want Module::Build to be installed, why not simply
>create a traditional Makefile.PL and add Module::Build as a
>prerequisite? That way your module can be installed with
>ExtUtils::MakeMaker yet Module::Build also gets installed for the
>next time.
That assumes the module *can* be built/installed with EU::MM (without
extra shenanigans.) If you have a custom build class, this is often
not the case.
The solution really should not involve 'traditional'.
Furthermore, I already do declare a dependency on Module::Build in the
META.yml. It seems that this is ignored though. I understand Adam's
argument about platform-sensitive dependencies, but shouldn't we have
some way to say "you absolutely must install the build tool first"?
Wouldn't a static yaml file be the place for that?
I've read that META.yml's declaration is considered to be a suggestion
but not the authoritative resource for tools. My guess is that your
automated tools really should run (Build|Makefile).PL but fail over to
META.yml if that's not possible. Perhaps some machines can't run perl
but still want to examine this information. They're second class
citizens since they're reading generated data that's potentially out
of sync. Too bad, I guess.
Since you have no Makefile.PL (this is unusual but sane under limited
circumstances), I'd guess I'd just consider any smoker that generates
that file for you to be broken.
Josh