David Cantrell <da...@cantrell.org.uk> writes: > On Thu, Dec 06, 2012 at 06:36:28PM +0900, Shmuel Fomberg wrote: > >> I'm not an expert, but I think that the .yml file is there for the >> automatic tools, not for installation. >> In the installation process only Makefile.PL is used. > > I'm not sure if that's still the case with a modern CPAN.pm, but it > certainly is with the older one that you'll find installed just about > everywhere.
The logic is the following: per default META.{yaml,json} files are not authoritative, but for the two parameters configure_requires dynamic_config 'configure_requires' must be satisfied first. After that the parameter 'dynamic_config' is checked: if it's missing, it defaults to true. If it's true, then the {Build,Makefile}.PL is used to determine the remaining dependencies. Otherwise the META file determines them. (1) has a META.{yml,json}? no goto (4) yes (2) has configure_requires yes satisfy configure_requires, fall through no (3) dynamic_config exists and is false satisfy dependencies, fall through yes (4) {Build,Makefile}.PL -- andreas