Module::Build::Tiny - A tiny replacement for Module::Build
Many Perl distributions use a Build.PL file instead of a Makefile.PL file to drive distribution configuration, build, test and installation. Traditionally, Build.PL uses Module::Build as the underlying build system. This module provides a simple, lightweight, drop-in replacement.
Whereas Module::Build has over 6,700 lines of code; this module has less than 200, yet supports the features needed by most distributions.
Pure Perl distributions
Building XS or C
Recursive test files
Man page generation
Generated code from PL files
HTML documentation generation
Your .pm, .xs and .pod files must be in lib/. Any executables must be in script/. Test files must be in t/. Dist sharedirs must be in share/, module sharedirs are under module-share (e.g. module-share/Foo-Bar for module
.c files in the src/ are compiled together with the .xs file matching the distribution name.
These all work pretty much like their Module::Build equivalents.
This supports the following options:
Options can be provided in the
PERL_MB_OPT environment variable the same way they can with Module::Build. This should be done during the configuration stage.
Module::Build has an extremely permissive way of argument handling, Module::Build::Tiny only supports a (sane) subset of that. In particular,
./Build destdir=/foo does not work, you will need to pass it as
Module::Build::Tiny does not support .modulebuildrc files. In particular, this means that versions of local::lib older than 1.006008 may break with
ERROR: Can't create /usr/local/somepath. If the output of
perl -Mlocal::lib contains
MODULEBUILDRC but not
PERL_MB_OPT , you will need to upgrade it to resolve this issue.
Leon Timmermans <firstname.lastname@example.org>
David Golden <email@example.com>
This software is copyright (c) 2011 by Leon Timmermans, David Golden.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.