use ExtUtils::MakeMaker;
warn "Carp::Assert likes to have B::Deparse but can't find it.\n" unless
eval { require B::Deparse };
WriteMakefile(
NAME => 'Carp::Assert',
VERSION_FROM => 'lib/Carp/Assert.pm', # finds $VERSION
PREREQ_PM => { Carp => 0,
Test::More => 0.40,
},
'dist' => {COMPRESS => 'gzip -9',
SUFFIX => '.gz',
DIST_DEFAULT => 'all tardist',
},
);
{
package MY;
sub top_targets {
my($self) = @_;
return $self->SUPER::top_targets(@_) unless
eval { require Pod::Tests; 1 };
my $out = "POD2TEST_EXE = pod2test\n";
$out .= $self->SUPER::top_targets(@_);
$out =~ s/^(pure_all\b.*)/$1 testifypods/m;
foreach my $pod (keys %{$self->{MAN1PODS}},
keys %{$self->{MAN3PODS}})
{
(my $test = $pod) =~ s/\.(pm|pod)$//;
$test =~ s/^lib\W//;
$test =~ s/\W/-/;
$test = "t/embedded-$test.t";
$pod2test{$pod} = $test;
}
$out .= <<"END_OF_MAKE";
testifypods : @{[ join " ", values %pod2test ]}
\t\$(NOECHO) \$(NOOP)
END_OF_MAKE
for my $pod (keys %pod2test) {
my $test = $pod2test{$pod};
$out .= <<"END_OF_MAKE";
$test : $pod
\t\$(NOECHO) \$(ECHO) Testifying $pod to $test
\t\$(NOECHO) \$(POD2TEST_EXE) $pod $test
END_OF_MAKE
}
return $out;
}
sub test_via_harness {
my($self, $orig_perl, $tests) = @_;
my @perls = ($orig_perl);
push @perls, qw(bleadperl
perl5.6.1
perl5.005_03
perl5.004_05
perl5.004_04
perl5.004
)
if $ENV{PERL_TEST_ALL};
my $out;
foreach my $perl (@perls) {
$out .= $self->SUPER::test_via_harness($perl, $tests);
}
return $out;
}
}
syntax highlighted by Code2HTML, v. 0.9.1