NAME
ExtUtils::MakeMaker::Attributes - Determine when ExtUtils::MakeMaker
attributes are available
SYNOPSIS
use ExtUtils::MakeMaker::Attributes ':all';
my @eumm_available = eumm_version_supported_attributes(ExtUtils::MakeMaker->VERSION);
my @core_available = perl_version_supported_attributes($]);
unless (perl_version_supports_attribute('v5.10.1', 'TEST_REQUIRES')) {
...
}
my $fallback = eumm_attribute_fallback('TEST_REQUIRES');
my $required_eumm = eumm_attribute_requires_version('TEST_REQUIRES');
unless (eval { ExtUtils::MakeMaker->VERSION($required_eumm); 1 }) {
...
}
DESCRIPTION
This module provides an API to determine what attributes are available
to a particular version of ExtUtils::MakeMaker, and conversely, what
version of ExtUtils::MakeMaker is required for a particular attribute.
See "Using Attributes and Parameters" in ExtUtils::MakeMaker for more
details on the available attributes.
FUNCTIONS
All functions are exported on demand, and can be exported individually
or via the :all tag.
known_eumm_attributes
my @attributes = known_eumm_attributes;
Returns a list of attributes known to be accepted by the latest version
of ExtUtils::MakeMaker.
is_known_eumm_attribute
my $boolean = is_known_eumm_attribute($attribute);
Returns a boolean whether the attribute is known to be accepted by the
latest version of ExtUtils::MakeMaker.
eumm_attribute_requires_version
my $version = eumm_attribute_requires_version($attribute);
Returns the minimum version of ExtUtils::MakeMaker that accepts the
attribute.
eumm_attribute_fallback
my $hashref = eumm_attribute_fallback($attribute);
In cases where the active version of ExtUtils::MakeMaker does not
support an attribute, the attribute should be deleted from the options
passed to WriteMakefile. However, some attributes may still be useful
in other ways, as indicated by this function. If the attribute has an
associated fallback method, it returns a hashref containing a method
and possibly other related keys. Otherwise, it returns undef. Currently
it may return these methods:
merge_prereqs
The key's contents (as a hashref of prerequisites) should be merged
into the merge_target (returned in the fallback hashref), ideally
using "add_requirements" in CPAN::Meta::Requirements.
eumm_version_supports_attribute
my $boolean = eumm_version_supports_attribute($attribute, $eumm_version);
Returns a boolean whether the ExtUtils::MakeMaker supports the
attribute at the specified version.
perl_version_supports_attribute
my $boolean = perl_version_supports_attribute($attribute, $perl_version);
Returns a boolean whether the version of ExtUtils::MakeMaker shipped in
the specified version of Perl supports the attribute.
eumm_version_supported_attributes
my @attributes = eumm_version_supported_attributes($eumm_version);
Returns a list of all attributes supported by the specified version of
ExtUtils::MakeMaker.
perl_version_supported_attributes
my @attributes = perl_version_supported_attributes($perl_version);
Returns a list of all attributes supported by the version of
ExtUtils::MakeMaker shipped in the specified version of Perl.
BUGS
Report any issues on the public bugtracker.
AUTHOR
Dan Book <
[email protected]>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2017 by Dan Book.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
SEE ALSO
ExtUtils::MakeMaker