Manpage logo

Dist::Build - A modern module builder, author tools not included!

NAME  VERSION  DESCRIPTION  PLUGINS  DELEGATES  AUTHOR  COPYRIGHT AND LICENSE 

NAME

Dist::Build − A modern module builder, author tools not included!

VERSION

version 0.022

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.


Updated 2026-06-01 - jenkler.se | uex.se