NAME
Dist::Build - A modern module builder, author tools not included!
VERSION
version 0.020
DESCRIPTION
"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' ],);
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 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.
DELEGATES
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.
AUTHOR
Leon Timmermans <[email protected]>
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.