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

Reply via email to