App-Tel
view release on metacpan or search on metacpan
local/lib/perl5/Module/Build/API.pod view on Meta::CPAN
=over 4
=item type
The type of option. The types are those supported by Getopt::Long; consult
its documentation for a complete list. Typical types are C<=s> for strings,
C<+> for additive options, and C<!> for negatable options. If the
type is not specified, it will be considered a boolean, i.e. no
argument is taken and a value of 1 will be assigned when the option is
encountered.
=item store
A reference to a scalar in which to store the value passed to the option.
If not specified, the value will be stored under the option name in the
hash returned by the C<args()> method.
=item default
A default value for the option. If no default value is specified and no option
is passed, then the option key will not exist in the hash returned by
C<args()>.
=back
You can combine references to your own variables or subroutines with
unreferenced specifications, for which the result will also be stored in the
hash returned by C<args()>. For example:
my $loud = 0;
my $build = Module::Build->new
(
module_name => 'Foo::Bar',
get_options => {
Loud => { store => \$loud },
Dbd => { type => '=s' },
Quantity => { type => '+' },
}
);
print STDERR "HEY, ARE YOU LISTENING??\n" if $loud;
print "We'll use the ", $build->args('Dbd'), " DBI driver\n";
print "Are you sure you want that many?\n"
if $build->args('Quantity') > 2;
The arguments for such a specification can be called like so:
perl Build.PL --Loud --Dbd=DBD::pg --Quantity --Quantity --Quantity
B<WARNING:> Any option specifications that conflict with Module::Build's own
options (defined by its properties) will throw an exception. Use capitalized
option names to avoid unintended conflicts with future Module::Build options.
Consult the Getopt::Long documentation for details on its usage.
=item include_dirs
[version 0.24]
Specifies any additional directories in which to search for C header
files. May be given as a string indicating a single directory, or as
a list reference indicating multiple directories.
=item install_path
[version 0.19]
You can set paths for individual installable elements by using the
C<install_path> parameter:
my $build = Module::Build->new
(
...other stuff here...
install_path => {
lib => '/foo/lib',
arch => '/foo/lib/arch',
}
);
=item installdirs
[version 0.19]
Determines where files are installed within the normal perl hierarchy
as determined by F<Config.pm>. Valid values are: C<core>, C<site>,
C<vendor>. The default is C<site>. See
L<Module::Build/"INSTALL PATHS">
=item license
[version 0.07]
Specifies the licensing terms of your distribution.
As of Module::Build version 0.36_14, you may use a L<Software::License>
subclass name (e.g. 'Apache_2_0') instead of one of the keys below.
The legacy list of valid license values include:
=over 4
=item apache
The distribution is licensed under the Apache License, Version 2.0
(L<http://apache.org/licenses/LICENSE-2.0>).
=item apache_1_1
The distribution is licensed under the Apache Software License, Version 1.1
(L<http://apache.org/licenses/LICENSE-1.1>).
=item artistic
The distribution is licensed under the Artistic License, as specified
by the F<Artistic> file in the standard Perl distribution.
=item artistic_2
( run in 0.532 second using v1.01-cache-2.11-cpan-39bf76dae61 )