in reply to Re: module needs another module for build
in thread module needs another module for build

Thank you! CONFIGURE_REQUIRES is definitely a step forward, will try. I wonder if CPAN shell can detect that this field has changed after Makefile.PL was run and re-run it, because I have another module that does just that, if none of the libraries it needs are found, it falls back on a third-party module.
  • Comment on Re^2: module needs another module for build

Replies are listed 'Best First'.
Re^3: module needs another module for build
by bingos (Vicar) on Aug 11, 2011 at 08:55 UTC

    The CPAN clients (cpan/cpanp/cpanm) take the following steps:

    • Download distribution
    • Extract distribution
    • Does a META.yml or META.json file exist? Okay, parse and look for configure_requires, resolve all the requirements listed there
    • Execute Makefile.PL or Build.PL
    • If there is a MYMETA.yml or MYMETA.json, parse and look for build and runtime requirements, resolve these
    • No, MYMETA files, okay, if there is a Makefile parse that to resolve requirements
    • Oh, its a Module::Build based dist, try running 'Build prereq_data' action, if that fails, poke around in _build/ directory to find the requirements
    • Resolve requirements
    • Execute 'make' for EUMM or './Build' for M::B
    • Execute 'make test' for EUMM or './Build test' for M::B
    • Execute 'make install' for EUMM or './Build install' for M::B
      ++ very useful , thanks. This should be in FAQ somewhere.