Acme::Module::Build::Tiny - A tiny replacement for Module::Build (DEPRECATED)
# First, install Acme::Module::Build::Tiny # From the command line, run this: $ btiny # Which generates this Build.PL: use lib 'inc'; use Acme::Module::Build::Tiny; # That's it!
NOTE: This module is deprecated. See Module::Build::Tiny instead, which builds upon this Acme proof of concept.
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 under 200, yet supports the features needed by most pure-Perl distributions along with some useful automation for lazy programmers. Plus, it bundles itself with the distribution, so end users don't even need to have it (or Module::Build) installed.
* Pure Perl distributions * Recursive test files * Automatic 'requires' and 'build_requires' detection (see below) * Automatic MANIFEST generation * Automatic MANIFEST.SKIP generation (if not supplied) * Automatically bundles itself in inc/ * MYMETA
* Dynamic prerequisites * Generated code from PL files * Building XS or C * Manpage or HTML documentation generation * Subclassing Acme::Module::Build::Tiny * Licenses in META.yml other than 'perl'
* May only work on a Unix-like or Windows OS * This is an Acme module -- use at your own risk
Your .pm and .pod files must be in lib/. Any executables must be in bin/. Test files must be in t/. Bundled test modules must be in t/lib/.
Prerequisites of type 'requires' are automatically detected in *.pm files in lib/ from lines that contain a
use() function with a version number. E.g.:
use Carp 0 qw/carp croak/; use File::Spec 0.86 ();
Lines may have leading white space. You may not have more than one
use() function per line. No other
require() functions are detected.
Prerequisites of type 'build_requires' are automatically detected in a similar fashion from any *.t files (recusively) in t/ and from any *.pm files in t/lib/.
These all work pretty much like their Module::Build equivalents. The only configuration options currently supported are:
Options can be provided in a .modulebuildrc file or in the
PERL_MB_OPT environment variable the same way they can with Module::Build.
David Golden <email@example.com>
Copyright (C) 2009 by David A. Golden
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.