GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
* Sign Up! *

Support
Customer Portal
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
ExtUtils::Builder(3) User Contributed Perl Documentation ExtUtils::Builder(3)

ExtUtils::Builder - An abstract representation of build processes

version 0.020

Writing extensions for various build tools can be a daunting task. This module tries to abstract steps of build processes into reusable building blocks for creating platform and build system agnostic executable descriptions of work. This allows producing and consuming sides to be completely independent from each other.

These build steps can be used directly (e.g. Dist::Build) or be converted into Makefile.

Actions are the cornerstone of the ExtUtils::Builder framework. It is a flexible abstraction around steps of a process, it can be a piece of perl code or an external command.

Nodes

Nodes describe how a target should be created. Every node has an unordered set of zero or more dependencies that must be build (and must be up-to-date) before the target is build. It also has a list of actions to perform (in order) to create (or recreate) the target file. Essentially, a Node is equivalent to entry in a Makefile.

Plans are the equivalent of a (piece of a) Makefile. They are a bunch of nodes that should interconnect.

The "run" method will create the given target and all its dependencies in a topological order much like "make". It will check which steps are necessary and skip the ones which are not. Alternatively it can be serialized to a JSON-compatible datastructure (and later deserialized) using ExtUtils::Builder::Serializer, or even integrated into ExtUtils::MakeMaker using ExtUtils::Builder::MakeMaker.

A Planner is an object used to create Plans. At the base level it allows you to add nodes or pattern matches/substitutions, but usually one would load extensions that add higher level methods to the planner (e.g. "compile"). Planners support scopes: child planners that share the build plan but contain extra helper methods. It also supports DSL scripts: these are perl scripts that support calling the planner's methods as functions for easy customization of build plans.

Leon Timmermans <fawaka@gmail.com>

This software is copyright (c) 2013 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.

2026-02-21 perl v5.42.2

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.