table of contents
Dist::Build(3pm) | User Contributed Perl Documentation | Dist::Build(3pm) |
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 <fawaka@gmail.com>
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.
2025-05-11 | perl v5.40.1 |