NAME

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

VERSION

version 0.017

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
}

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.

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.

AUTHOR

Leon Timmermans <fawaka@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Leon Timmermans.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.