]> git.vpit.fr Git - perl/modules/Test-Valgrind.git/blob - Makefile.PL
This is 1.00
[perl/modules/Test-Valgrind.git] / Makefile.PL
1 use 5.006;
2
3 use strict;
4 use warnings;
5 use ExtUtils::MakeMaker;
6
7 my $has_version_pm;
8 BEGIN {
9  eval { require Config };
10  die 'OS unsupported' if $@;
11  Config->import(qw/%Config/);
12  eval { require File::Spec };
13  die 'OS unsupported' if $@;
14  $has_version_pm = eval "require version; 1" || 0;
15 }
16 use lib 'lib';
17
18 print 'Checking for valgrind ' . ('>= 3.1.0 ' x $has_version_pm) .'in PATH... ';
19 require Test::Valgrind::Session;
20 my $vg = eval q[
21  Test::Valgrind::Session->new((min_version => '3.1.0') x $has_version_pm)
22                         ->valgrind
23 ];
24 if ($vg) {
25  print "$vg\n";
26 } else {
27  print "no\n";
28  die 'OS unsupported';
29 }
30
31 # Inspired from Module::Install::Can
32 print "Checking for a valid C compiler in the PATH... ";
33 my @ccs = ($Config{cc});
34 unshift @ccs, $ENV{CC} if $ENV{CC};
35 my @path = File::Spec->path;
36 @ccs = map {
37  my $cc = $_;
38  File::Spec->file_name_is_absolute($cc)
39    ? $cc
40    : map File::Spec->catfile($_, $cc), @path
41 } @ccs;
42 my $has_cc;
43 CC:
44 for my $cc (@ccs) {
45  if (-x $cc or MM->maybe_command($cc)) {
46   $has_cc = $cc;
47   last CC;
48  }
49 }
50 my (@C);
51 if ($has_cc) {
52  my $xs = 'Valgrind.xs';
53  (my $c = $xs) =~ s/\.xs$/.c/;
54  push @C, $c;
55  print $has_cc, "\n";
56 } else {
57  print "none\n";
58 }
59
60 my %PREREQ_PM = (
61  'Carp'                  => 0,
62  'Digest::MD5'           => 0,
63  'Env::Sanctify'         => 0,
64  'File::HomeDir'         => '0.86',
65  'File::Path'            => 0,
66  'File::Spec'            => 0,
67  'File::Temp'            => 0,
68  'Fcntl'                 => 0,
69  'POSIX'                 => 0,
70  'Perl::Destruct::Level' => 0,
71  'Scalar::Util'          => 0,
72  'Test::Builder'         => 0,
73  'XML::Twig'             => 0,
74  'version'               => 0,
75 );
76
77 my $dist = 'Test-Valgrind';
78
79 my %META = (
80  configure_requires => {
81   'Carp'                => 0,
82   'Config'              => 0,
83   'ExtUtils::MakeMaker' => 0,
84   'Fcntl'               => 0,
85   'File::Spec'          => 0,
86   'POSIX'               => 0,
87   'Scalar::Util'        => 0,
88   'version'             => 0,
89  },
90  build_requires => {
91   'ExtUtils::MakeMaker' => 0,
92   'Test::More'          => 0,
93   %PREREQ_PM,
94  },
95  recommends => {
96   'DynaLoader' => 0,
97   'XSLoader'   => 0,
98  },
99  resources => {
100   bugtracker => "http://rt.cpan.org/NoAuth/ReportBug.html?Queue=$dist",
101   homepage   => "http://search.cpan.org/dist/$dist/",
102   license    => 'http://dev.perl.org/licenses/',
103   repository => "http://git.profvince.com/perl/modules/$dist.git",
104  },
105 );
106
107 WriteMakefile(
108     NAME             => 'Test::Valgrind',
109     AUTHOR           => 'Vincent Pit <perl@profvince.com>',
110     LICENSE          => 'perl',
111     VERSION_FROM     => 'lib/Test/Valgrind.pm',
112     ABSTRACT_FROM    => 'lib/Test/Valgrind.pm',
113     OPTIMIZE         => '-g',
114     C                => \@C,
115     PREREQ_PM        => \%PREREQ_PM,
116     MIN_PERL_VERSION => 5.006,
117     META_MERGE       => \%META,
118     dist             => {
119         PREOP    => 'pod2text lib/Test/Valgrind.pm > $(DISTVNAME)/README',
120         COMPRESS => 'gzip -9f', SUFFIX => 'gz',
121     },
122     clean            => {
123         FILES => "$dist-* Makefile.bak *.gcov *.gcda *.gcno cover_db Debian_CPANTS.txt"
124     },
125 );