logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ExtUtils::Builder::MakeMaker - A MakeMaker consumer for ExtUtils::Builder Plan objects

Author

       Leon Timmermans <fawaka@gmail.com>

Delegates

       By default, the following delegates are defined on your planner:

       •   meta

           A CPAN::Meta object representing the "META.json" file.

       •   distribution

           The name of the distribution

       •   version

           The version of the distribution

       •   main_module

           The main module of the distribution.

       •   release_status

           The release status of the distribution (e.g. 'stable').

       •   perl_path

           The path to the perl executable.

       •   config

           The ExtUtils::Config::MakeMaker object for this build

       •   is_os(@os_names)

           This returns true if the current operating system matches any of the listed ones.

       •   is_os_type($os_type)

           This  returns  true  if  the  type of the OS matches $os_type. Legal values are "Unix", "Windows" and
           "VMS".

       •   verbose

           This is always false.

       •   uninst

           The value of the "uninst" command line argument.

       •   jobs

           This is always 1.

       •   pureperl_only

           The value of the "PUREPERL_ONLY" command line argument.

       These are the same ones as Dist::Build sets except "install_paths" is missing.

Description

       This MakeMaker extension will call your "MY::make_plans" method with a ExtUtils::Builder::Planner as
       argument so that you can add entries to it; these entries will be added to your Makefile. It will also
       call any ".pl" files in "/planner" as DSL files, these are run in a new scope so delegates don't leak
       out. Entries may depend on existing MakeMaker entries and vice-versa. Typically one would make their
       target a dependency of a MakeMaker entry like "pure_all" or "dynamic".

Name

       ExtUtils::Builder::MakeMaker - A MakeMaker consumer for ExtUtils::Builder Plan objects

Synopsis

        use ExtUtils::MakeMaker;
        use ExtUtils::Builder::MakeMaker;
        ...
        WriteMakeFile(
          NAME => 'Foo',
          VERSION => 0.001,
        );

        sub MY::make_plans {
          my ($self, $planner) = @_;
          $planner->load_extension('Some::Module');
          ... # Add plans to $planner
        }

Version

       version 0.017

See Also