Scroll to navigation

ExtUtils::Builder::MakeMaker(3pm) User Contributed Perl Documentation ExtUtils::Builder::MakeMaker(3pm)

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.

2025-04-12 perl v5.40.1