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