Update: there seems to be a misunderstanding of the question: I'm interested not how to do that myself, but how to teach module X to interact with CPAN in automated (3rd user)/controlled (CPAN testers) environment.

Once Makefile.PL runs, I'm pretty sure you can't get CPAN to automatically run it again after a prerequisite installs. Instead, you need to find a way to have the necessary configuration done during the "make" stage. I can see two ways of doing that:

  1. Override ExtUtils::MakeMaker methods to change the generated Makefile such that during "make" you gather and use some configuration data. (Hard)
  2. Use another *.PL file and the PL_FILES argument in Makefile.PL to either generate a module with the information from your prerequisite or to patch your .pm files in blib as necessary. (Easier)

Alternatively, you might look into using Module::Build, as it makes subclassing Module::Build and overriding methods fairly easy. You could override the ACTION_build method to gather necessary information, act on it, then call the superclass method to continue the build process.

-xdg

Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.


In reply to Re: how to re-run Makefile.PL under CPAN? by xdg
in thread how to re-run Makefile.PL under CPAN? by dk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.