Acme-Sort-Sleep

 view release on metacpan or  search on metacpan

local/lib/perl5/Module/Build/API.pod  view on Meta::CPAN

(L<http://www.opensource.org/licenses/lgpl-license.php>).

=item mit

The distribution is licensed under the MIT License
(L<http://opensource.org/licenses/mit-license.php>).

=item mozilla

The distribution is licensed under the Mozilla Public
License.  (L<http://opensource.org/licenses/mozilla1.0.php> or
L<http://opensource.org/licenses/mozilla1.1.php>)

=item open_source

The distribution is licensed under some other Open Source
Initiative-approved license listed at
L<http://www.opensource.org/licenses/>.

=item perl

The distribution may be copied and redistributed under the same terms
as Perl itself (this is by far the most common licensing option for
modules on CPAN).  This is a dual license, in which the user may
choose between either the GPL or the Artistic license.

=item restrictive

The distribution may not be redistributed without special permission
from the author and/or copyright holder.

=item unrestricted

The distribution is licensed under a license that is B<not> approved
by www.opensource.org but that allows distribution without
restrictions.

=back

Note that you must still include the terms of your license in your
code and documentation - this field only sets the information that is included
in distribution metadata to let automated tools figure out your
licensing restrictions.  Humans still need something to read.  If you
choose to provide this field, you should make sure that you keep it in
sync with your written documentation if you ever change your licensing
terms.

You may also use a license type of C<unknown> if you don't wish to
specify your terms in the metadata.

Also see the C<create_license> parameter.

=item meta_add

[version 0.28]

A hash of key/value pairs that should be added to the F<META.yml> file
during the C<distmeta> action.  Any existing entries with the same
names will be overridden.

See the L</"MODULE METADATA"> section for details.

=item meta_merge

[version 0.28]

A hash of key/value pairs that should be merged into the F<META.yml>
file during the C<distmeta> action.  Any existing entries with the
same names will be overridden.

The only difference between C<meta_add> and C<meta_merge> is their
behavior on hash-valued and array-valued entries: C<meta_add> will
completely blow away the existing hash or array value, but
C<meta_merge> will merge the supplied data into the existing hash or
array value.

See the L</"MODULE METADATA"> section for details.

=item module_name

[version 0.03]

The C<module_name> is a shortcut for setting default values of
C<dist_name> and C<dist_version_from>, reflecting the fact that the
majority of CPAN distributions are centered around one "main" module.
For instance, if you set C<module_name> to C<Foo::Bar>, then
C<dist_name> will default to C<Foo-Bar> and C<dist_version_from> will
default to C<lib/Foo/Bar.pm>.  C<dist_version_from> will in turn be
used to set C<dist_version>.

Setting C<module_name> won't override a C<dist_*> parameter you
specify explicitly.

=item needs_compiler

[version 0.36]

The C<needs_compiler> parameter indicates whether a compiler is required to
build the distribution.  The default is false, unless XS files are found or
the C<c_source> parameter is set, in which case it is true.  If true,
L<ExtUtils::CBuilder> is automatically added to C<build_requires> if needed.

For a distribution where a compiler is I<optional>, e.g. a dual XS/pure-Perl
distribution, C<needs_compiler> should explicitly be set to a false value.

=item PL_files

[version 0.06]

An optional parameter specifying a set of C<.PL> files in your
distribution.  These will be run as Perl scripts prior to processing
the rest of the files in your distribution with the name of the file
they're generating as an argument.  They are usually used as templates
for creating other files dynamically, so that a file like
C<lib/Foo/Bar.pm.PL> might create the file C<lib/Foo/Bar.pm>.

The files are specified with the C<.PL> files as hash keys, and the
file(s) they generate as hash values, like so:

  my $build = Module::Build->new
    (
     module_name => 'Foo::Bar',
     ...
     PL_files => { 'lib/Foo/Bar.pm.PL' => 'lib/Foo/Bar.pm' },
    );

Note that the path specifications are I<always> given in Unix-like
format, not in the style of the local system.

If your C<.PL> scripts don't create any files, or if they create files
with unexpected names, or even if they create multiple files, you can
indicate that so that Module::Build can properly handle these created
files:

  PL_files => {
               'lib/Foo/Bar.pm.PL' => 'lib/Foo/Bar.pm',
               'lib/something.PL'  => ['/lib/something', '/lib/else'],

local/lib/perl5/Module/Build/API.pod  view on Meta::CPAN

=item metafile()

=item metafile2()

=item module_name()

=item mymetafile()

=item mymetafile2()

=item needs_compiler()

=item orig_dir()

=item perl()

=item pm_files()

=item pod_files()

=item pollute()

=item prefix()

=item prereq_action_types()

=item program_name()

=item pureperl_only()

=item quiet()

=item recommends()

=item recurse_into()

=item recursive_test_files()

=item requires()

=item scripts()

=item sign()

=item tap_harness_args()

=item test_file_exts()

=item test_requires()

=item use_rcfile()

=item use_tap_harness()

=item verbose()

=item xs_files()

=back

=head1 MODULE METADATA

If you would like to add other useful metadata, C<Module::Build>
supports this with the C<meta_add> and C<meta_merge> arguments to
L</new()>. The authoritative list of supported metadata can be found at
L<CPAN::Meta::Spec> but for convenience - here are a few of the more useful ones:

=over 4

=item keywords

For describing the distribution using keyword (or "tags") in order to
make CPAN.org indexing and search more efficient and useful.

=item resources

A list of additional resources available for users of the
distribution. This can include links to a homepage on the web, a
bug tracker, the repository location, and even a subscription page for the
distribution mailing list.

=back


=head1 AUTHOR

Ken Williams <kwilliams@cpan.org>


=head1 COPYRIGHT

Copyright (c) 2001-2006 Ken Williams.  All rights reserved.

This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.


=head1 SEE ALSO

perl(1), L<Module::Build>(3), L<Module::Build::Authoring>(3),
L<Module::Build::Cookbook>(3), L<ExtUtils::MakeMaker>(3)

F<META.yml> Specification:
L<CPAN::Meta::Spec>

=cut



( run in 0.641 second using v1.01-cache-2.11-cpan-140bd7fdf52 )