| ExtUtils::Builder::MakeMaker(3pm) | User Contributed Perl Documentation | ExtUtils::Builder::MakeMaker(3pm) |
ExtUtils::Builder::MakeMaker - A MakeMaker consumer for ExtUtils::Builder Plan objects
version 0.017
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
}
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".
By default, the following delegates are defined on your planner:
A CPAN::Meta object representing the "META.json" file.
The name of the distribution
The version of the distribution
The main module of the distribution.
The release status of the distribution (e.g. 'stable').
The path to the perl executable.
The ExtUtils::Config::MakeMaker object for this build
This returns true if the current operating system matches any of the listed ones.
This returns true if the type of the OS matches $os_type. Legal values are "Unix", "Windows" and "VMS".
This is always false.
The value of the "uninst" command line argument.
This is always 1.
The value of the "PUREPERL_ONLY" command line argument.
These are the same ones as Dist::Build sets except "install_paths" is missing.
Leon Timmermans <fawaka@gmail.com>
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 |