| Dist::Build(3pm) | User Contributed Perl Documentation | Dist::Build(3pm) |
Dist::Build - A modern module builder, author tools not included!
version 0.020
"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' ],
);
This plugin enables one to compile XS modules. It has a range of options, and a series of extensions that add to its capabilities.
This is used to link to an Alien library.
This wraps ExtUtils::Builder::Conf to detect headers, libraries and features.
This can be used to import headers and flags as exported by Dist::Build::XS::Export.
This adds flags for a given library as configured in its pkgconfig file.
This integrates ExtUtils::Constant into the "add_xs" command.
This allows one to install sharedirs
This allows one to export headers and flags, to be imported by Dist::Build::XS::Import
This allows one to dynamically evaluate dependencies.
This module contains all commands used for the base actions of the module.
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 object for this build
The ExtUtils::InstallPaths 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".
The value of the "verbose" command line argument.
The value of the "uninst" command line argument.
The value of the "jobs" command line argument.
The value of the "pureperl_only" command line argument.
Leon Timmermans <fawaka@gmail.com>
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.
| 2025-05-11 | perl v5.40.1 |