Dist::Build − A modern module builder, author tools not included!
version 0.022
"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' ],
);
|
• |
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 wraps ExtUtils::Builder::Conf to detect headers, libraries and features.
|
• |
Dist::Build::XS::Import |
This can be used to import headers and flags as exported by Dist::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 integrates ExtUtils::Constant into the "add_xs" command.
|
• |
Dist::Build::ShareDir |
This allows one to install sharedirs
|
• |
Dist::Build::XS::Export |
This allows one to export headers and flags, to be imported by Dist::Build::XS::Import
|
• |
Dist::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.
By default, the following delegates are defined on your planner:
|
• |
meta |
A CPAN::Meta object representing the "META.json" file.
|
• |
distribution |
The name of the distribution
|
• |
version |
The version of the distribution
|
• |
main_module |
The main module of the distribution.
|
• |
release_status |
The release status of the distribution (e.g. 'stable').
|
• |
perl_path |
The path to the perl executable.
|
• |
config |
The ExtUtils::Config object for this build
|
• |
install_paths |
The ExtUtils::InstallPaths object 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.
Leon Timmermans <[email protected]>
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.