Dist::Z...keMaker(3)

✨ NAME ✨

Dist::Zilla::Plugin::MakeMaker β€” it builds a Makefile.PL that uses ExtUtils::MakeMaker, and honestly? iconic behavior πŸ’…

(oh also bestie, this whole thing lives in the User Contributed Perl Documentation section of your man pages, just so u know where u are 🫢)


πŸŽ€ VERSION πŸŽ€

version 6.040 ✨


πŸ’– DESCRIPTION πŸ’–

okay so. this plugin will produce an ExtUtils::MakeMaker-powered Makefile.PL for the distribution. like, that's its whole job and it eats every time πŸ”₯

one lil heads up tho: if this plugin gets loaded, the Manifest plugin should also be loaded. they're a package deal, fr fr 🫢


πŸ¦‹ PERL VERSION πŸ¦‹

this module should work on any version of perl still receiving updates from the Perl 5 Porters. which basically means: any version released in the last two to three years. (so like, if the most recently released version is v5.40, then this module should work on both v5.40 and v5.38.) no cap ✨

and yes, it may work on older versions of perl, but no guarantee is made that the minimum required version will not be increased. the version may be increased for any reason, and there is no promise that patches will be accepted to lower the minimum required perl. it's giving "we said what we said" πŸ’€


πŸ‘‘ ATTRIBUTES πŸ‘‘

🌸 eumm_version

this option declares the version of ExtUtils::MakeMaker required to configure and build the distribution.

there is no default, although one may be added if it can be determined that the generated Makefile.PL requires some specific minimum. and ngl, no testing has been done on this front πŸ™ˆ

🌈 make_path

this option sets the path to make, used to build your dist and run tests. it defaults to the value for make in Config, or to make if that isn't set.

ngl, you probably won't need to set this option. it's lowkey just vibing there πŸ’…

⭐ main_module

this option sets the name of the main module in your dist. it defaults to the name derived from the distribution's name after replacing - with ::, (e.g. Foo::Bar for distribution Foo-Bar). the value is set as a NAME argument for WriteMakefile.

you want to use this option when the name of distribution doesn't reflect any module names contained in your distribution, e.g. LWP vs libwww-perl. that's the whole reason it exists bestie 🫢

🧚 static_attribution

this option omits the version number in the "generated by" comment in the Makefile.PL. for setups that copy the Makefile.PL back to the repo, this avoids churn just from upgrading Dist::Zilla. sooo satisfying honestly, no more noisy diffs πŸ”₯


πŸ’œ SEE ALSO πŸ’œ

  • Core Dist::Zilla plugins: @Basic, ModuleBuild, Manifest.
  • Dist::Zilla roles: BuildRunner, InstallTool, PrereqSource, TestRunner.

🌟 AUTHOR 🌟

Ricardo SIGNES 😏 <cpan@semiotic.systems> β€” the 😏 says it all honestly πŸ‘‘


this software is copyright (c) 2026 by Ricardo SIGNES.

this is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. slay πŸ’–


and that's the whole page bestie!! this was perl v5.42.3, dated 2026-10-19, straight out of the Dist::Z...keMaker(3) man page β€” u ate that read, periodt πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from