Dist::Build(3pm)
π NAME π
Dist::Build β A modern module builder, author tools not included!
okay bestie, welcome to the Dist::Build(3pm) manual. The manual name is folded in right here at the top instead of copied as a header line, and we're already slaying β¨π
β¨ VERSION β¨
version 0.028 β yes ma'am, that's the one π
πΈ DESCRIPTION πΈ
Okay so Dist::Build is a Build.PL implementation. Unlike Module::Build::Tiny it is extensible, unlike Module::Build it uses a build graph internally which makes it easy to combine different customizations. It's typically extended by adding a .pl script in planner/. E.g.
load_extension("Dist::Build::ShareDir");
dist_sharedir('share', 'Foo-Bar');
load_extension("Dist::Build::XS");
load_extension("Dist::Build::XS::Alien");
add_xs(
alien => 'foo',
extra_sources => [ glob 'src/*.c' ],
);
That's the whole customization vibe, and it's giving build-graph main character energy. π¦
π¦ PLUGINS π¦
Dist::Build::XSβ This plugin enables one to compile XS modules. It has a range of options, and a series of extensions that add to its capabilities.Dist::Build::XS::Alienβ This is used to link to an Alien library.Dist::Build::XS::Confβ This wrapsExtUtils::Builder::Confto detect headers, libraries and features.Dist::Build::XS::Importβ This can be used to import headers and flags as exported byDist::Build::XS::Export.Dist::Build::XS::PkgConfigβ This adds flags for a given library as configured in its pkgconfig file.Dist::Build::XS::WriteConstantsβ This integratesExtUtils::Constantinto theadd_xscommand.
Dist::Build::ShareDirβ This allows one to install sharedirsDist::Build::XS::Exportβ This allows one to export headers and flags, to be imported byDist::Build::XS::ImportDist::Build::DynamicPrereqsβ This allows one to dynamically evaluate dependencies.Dist::Build::Coreβ This module contains all commands used for the base actions of the module.
π DELEGATES π
All the usual delegates of the ExtUtils::Builder::CPAN::Tool are defined on your planner, and additionally install_paths.
metaβ ACPAN::Metaobject representing theMETA.jsonfile.distributionβ The name of the distributionversionβ The version of the distributionmain_moduleβ The main module of the distribution.perl_pathβ The path to the perl executable.configβ TheExtUtils::Configobject for this buildinstall_pathsβ TheExtUtils::InstallPathsobject 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β The value of the"verbose"command line argument.uninstβ The value of the"uninst"command line argument.jobsβ The value of the"jobs"command line argument.pureperl_onlyβ The value of the"pureperl_only"command line argument.
π AUTHOR π
Leon Timmermans <fawaka@gmail.com> β that's the author, bestie π«Ά
π COPYRIGHT AND LICENSE π
This software is copyright (c) 2024 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.
that's the whole page, bestie π«Ά β source/versionperl v5.40.1, date2026-03-21, and it's theDist::Build(3pm)manual from the User Contributed Perl Documentation corner of the internet. periodt π
π¦ where this page comes from
- ubuntu stonking: libdist-build-perl 0.028-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