0fcdc76abd14701fce6794767fd46c40787f0a89
[gitmo/Class-C3.git] / Makefile.PL
1 use warnings;
2 use strict;
3
4 use 5.006002;
5 use inc::Module::Install 1.06;
6
7 perl_version   '5.006002';
8 name           'Class-C3';
9 all_from       'lib/Class/C3.pm';
10
11 test_requires 'Test::More' => '0.47';
12
13 # needed by the PP version only, have them installed
14 # regardless of XS availability or perl version
15 # (for fatpacking and whatnot)
16 requires 'Algorithm::C3' => '0.07';
17 requires 'Scalar::Util'  => '0';
18
19 if ($] < 5.009_005) {
20   # XS not interesting after mro is cored
21   requires 'Class::C3::XS'  => '0.13' if can_xs();
22   test_requires 'Devel::Hide' => 0 if is_smoker();
23 }
24
25 if($Module::Install::AUTHOR) {
26   # compiler detection, goes into META
27   configure_requires 'ExtUtils::MakeMaker' => '6.52';
28   configure_requires 'ExtUtils::CBuilder'  => '0.27';
29
30   # Rebuild README for maintainers
31   system("pod2text lib/Class/C3.pm >README");
32 }
33
34 WriteAll;
35
36 if ($Module::Install::AUTHOR) {
37   @{Meta->{values}{requires}} = grep
38     { $_->[0] !~ /^ (?: Class::C3::XS | Devel::Hide ) $/x }
39     @{Meta->{values}{requires}}
40   ;
41   print "Regenerating META with XS/test requires excluded\n";
42   Meta->write;
43 }
44
45 sub is_smoker {
46   return ( $ENV{AUTOMATED_TESTING} && ! $ENV{PERL5_CPANM_IS_RUNNING} && ! $ENV{RELEASE_TESTING} )
47 }