ExtUti...eMaker(3pm)
omg hi bestie π this is the ExtUtils::Builder::MakeMaker(3pm) page β the header lowkey shows the truncated ExtUti...eMaker(3pm) β and it's from User Contributed Perl Documentation. It's literally a MakeMaker consumer for ExtUtils::Builder Plan objects, and we're gonna vibe through it together π vibe check: passed.
πΈ NAME
ExtUtils::Builder::MakeMaker β a MakeMaker consumer for ExtUtils::Builder Plan objects. No cap, that's the whole name section.
π VERSION
version 0.020 β¨
β¨ 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
okay so this MakeMaker extension will call any .pl files in /planner as DSL files. They run in a new scope so delegates don't leak out β iconic β and those entries will be added to your Makefile. The way that this keeps your build setup from getting messy is honestly a slay.
It will also call your MY::make_plans method with a ExtUtils::Builder::Planner as argument, so you can customize the build in the Makefile.PL itself. Typically one would make their target a dependency of a MakeMaker entry like code (for perl) or dynamic (for XS). That's the whole flow, fr fr.
π¦ DELEGATES
This will define all delegates of ExtUtils::Builder::CPAN::Tool in your planner:
metaβ aCPAN::Metaobject representing theMETA.jsonfile.distributionβ the name of the distribution.versionβ the version of the distribution.main_moduleβ the main module of the distribution.perl_pathβ the path to the perl executable.configβ theExtUtils::Config::MakeMakerobject for this build.is_os(@os_names)β returns true if the current operating system matches any of the listed ones.is_os_type($os_type)β returns true if the type of the OS matches$os_type. Legal values areUnix,WindowsandVMS.verboseβ alwaysfalse.uninstβ the value of theuninstcommand line argument.jobsβ always1.pureperl_onlyβ the value of thePUREPERL_ONLYcommand line argument.
These are the same ones as Dist::Build sets except install_paths is missing. That's the one lil difference, iykyk π
π AUTHOR
Leon Timmermans <fawaka@gmail.com> β the main character who wrote this β¨
π 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. Periodt.
okay bestie, that's the whole page π source/version: perl v5.40.1 β date: 2026-02-23 β footer title: ExtUti...eMaker(3pm). bye and go slay your build π
β¨
π¦ where this page comes from
- ubuntu stonking: libextutils-builder-perl 0.020-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms