1Module::Build::Tiny(3pmU)ser Contributed Perl DocumentatiMoondule::Build::Tiny(3pm)
2
3
4
6 Module::Build::Tiny - A tiny replacement for Module::Build
7
9 version 0.047
10
12 use Module::Build::Tiny;
13 Build_PL();
14
16 Many Perl distributions use a Build.PL file instead of a Makefile.PL
17 file to drive distribution configuration, build, test and installation.
18 Traditionally, Build.PL uses Module::Build as the underlying build
19 system. This module provides a simple, lightweight, drop-in
20 replacement.
21
22 Whereas Module::Build has over 6,700 lines of code; this module has
23 less than 200, yet supports the features needed by most distributions.
24
25 Supported
26 • Pure Perl distributions
27
28 • Building XS or C
29
30 • Recursive test files
31
32 • MYMETA
33
34 • Man page generation
35
36 • Generated code from PL files
37
38 • Module sharedirs
39
40 Not Supported
41 • Dynamic prerequisites
42
43 • HTML documentation generation
44
45 • Extending Module::Build::Tiny
46
47 Directory structure
48 Your .pm, .xs and .pod files must be in lib/. Any executables must be
49 in script/. Test files must be in t/. Dist sharedirs must be in
50 share/, module sharedirs are under module-share (e.g.
51 module-share/Foo-Bar for module "Foo::Bar").
52
53 ".c" files in the src/ are compiled together with the .xs file matching
54 the distribution name.
55
57 These all work pretty much like their Module::Build equivalents.
58
59 perl Build.PL
60 Build [ build ]
61 Build test
62 Build install
63 This supports the following options:
64
65 • verbose
66
67 • install_base
68
69 • installdirs
70
71 • prefix
72
73 • install_path
74
75 • destdir
76
77 • uninst
78
79 • config
80
81 • pure-perl
82
83 • create_packlist
84
86 This module doesn't support authoring. To develop modules using
87 Module::Build::Tiny, usage of Dist::Zilla::Plugin::ModuleBuildTiny or
88 App::ModuleBuildTiny is recommended.
89
91 Options can be provided in the "PERL_MB_OPT" environment variable the
92 same way they can with Module::Build. This should be done during the
93 configuration stage.
94
95 Incompatibilities
96 • Argument parsing
97
98 Module::Build has an extremely permissive way of argument handling,
99 Module::Build::Tiny only supports a (sane) subset of that. In
100 particular, "./Build destdir=/foo" does not work, you will need to
101 pass it as "./Build --destdir=/foo".
102
103 • .modulebuildrc
104
105 Module::Build::Tiny does not support .modulebuildrc files. In
106 particular, this means that versions of local::lib older than
107 1.006008 may break with "ERROR: Can't create /usr/local/somepath".
108 If the output of "perl -Mlocal::lib" contains "MODULEBUILDRC" but
109 not "PERL_MB_OPT ", you will need to upgrade it to resolve this
110 issue.
111
113 Module::Build
114
116 • Leon Timmermans <leont@cpan.org>
117
118 • David Golden <dagolden@cpan.org>
119
121 This software is copyright (c) 2011 by Leon Timmermans, David Golden.
122
123 This is free software; you can redistribute it and/or modify it under
124 the same terms as the Perl 5 programming language system itself.
125
126
127
128perl v5.38.0 2023-09-29 Module::Build::Tiny(3pm)