use strict;
use warnings FATAL => 'all';
use 5.006;
+require "inc/ExtUtils/HasCompiler.pm";
my $have_compiler
= ! parse_args()->{PUREPERL_ONLY}
- && eval { require ExtUtils::CBuilder; 1 }
- && ExtUtils::CBuilder->new->have_compiler;
+ && ExtUtils::HasCompiler::can_compile_loadable_object(quiet => 1);
my %extra_prereqs = (
indirect => 0,
'Test::More' => 0,
} },
runtime => {
- requires => { },
+ requires => {
+ perl => '5.006',
+ },
recommends => {
%extra_prereqs,
},
},
develop => { requires => {
+ 'Test::Pod' => 0,
+ 'Test::Pod::Coverage' => 0,
+ 'Pod::Coverage::CountParents' => 0,
%extra_prereqs,
} },
},
PREREQ_PM => {
($] >= 5.008004 && $have_compiler ? %extra_prereqs : () )
},
- realclean => { FILES => [ 'Distar/', 'MANIFEST*' ] },
);
sub parse_args {
return $tmp->{ARGS} || {};
}
-##############################################################################
+## BOILERPLATE ###############################################################
require ExtUtils::MakeMaker;
(do 'maint/Makefile.PL.include' or die $@) unless -f 'META.yml';
($MM_ARGS{NAME} = $META{name}) =~ s/-/::/g;
($MM_ARGS{VERSION_FROM} = "lib/$MM_ARGS{NAME}.pm") =~ s{::}{/}g;
-$MM_ARGS{LICENSE} = $META{license}
- if $eumm_version >= 6.30;
+$META{license} = [ $META{license} ]
+ if $META{license} && !ref $META{license};
+$MM_ARGS{LICENSE} = $META{license}[0]
+ if $META{license} && $eumm_version >= 6.30;
$MM_ARGS{NO_MYMETA} = 1
if $mymeta_broken;
$MM_ARGS{META_ADD} = { 'meta-spec' => { version => 2 }, %META }
for (qw(configure build test runtime)) {
my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES';
my $r = $MM_ARGS{$key} = {
- %{$META{prereqs}{$_}{requires}},
+ %{$META{prereqs}{$_}{requires} || {}},
%{delete $MM_ARGS{$key} || {}},
};
defined $r->{$_} or delete $r->{$_} for keys %$r;
if $eumm_version < 6.51_03;
ExtUtils::MakeMaker::WriteMakefile(%MM_ARGS);
+## END BOILERPLATE ###########################################################