Initial checkin
[Data-Peek.git] / Makefile.PL
blob07341ca051c58d4cddb57ae8fdb3f3250cf30814
1 #!/usr/bin/perl
3 # Copyright PROCURA B.V. (c) 2008-2008 H.Merijn Brand
5 require 5.005; # <- also see postamble at the bottom for META.yml
6 use strict;
8 use ExtUtils::MakeMaker;
10 my %wm = (
11 NAME => "DDumper",
12 ABSTRACT => "Extended/Modified debugging utilities",
13 AUTHOR => "H.Merijn Brand <h.merijn\@xs4all.nl>",
14 VERSION_FROM => "DDumper.pm",
15 PREREQ_PM => { "DynaLoader" => 0,
16 "Data::Dumper" => 0,
17 "Test::More" => 0,
18 "Test::Harness" => 0,
20 clean => { FILES => join " ", qw(
21 Ddumper.c.gcov
22 Ddumper.gcda
23 Ddumper.gcno
24 Ddumper.xs.gcov
25 cover_db
26 valgrind.log
30 $ExtUtils::MakeMaker::VERSION > 6.30 and $wm{LICENSE} = "perl";
32 my $rv = WriteMakefile (%wm);
36 package MY;
38 sub postamble
40 my $valgrind = join " ", qw(
41 PERL_DESTRUCT_LEVEL=2 PERL_DL_NONLAZY=1
42 valgrind
43 --suppressions=sandbox/perl.supp
44 --leak-check=yes
45 --leak-resolution=high
46 --show-reachable=yes
47 --num-callers=50
48 --log-fd=3
49 $(FULLPERLRUN) "-MExtUtils::Command::MM" "-e"
50 "test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')"
51 $(TEST_FILES) 3>valgrind.log
54 my $min_vsn = ($] >= 5.010 && -d "xt" && ($ENV{AUTOMATED_TESTING} || 0) != 1)
55 ? join "\n" =>
56 'test ::',
57 ' -@env TEST_FILES="xt/*.t" make -e test_dynamic',
59 : "";
60 join "\n" =>
61 'cover test_cover:',
62 ' ccache -C',
63 ' cover -test',
64 '',
65 'leakcheck:',
66 " $valgrind",
67 ' -@tail -5 valgrind.log',
68 '',
69 'leaktest:',
70 q{ sandbox/leaktest $(FULLPERLRUN) "test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES)},
71 '',
72 'checkmeta:',
73 ' perl sandbox/genMETA.pl -c',
74 '',
75 'fixmeta: distmeta',
76 ' perl sandbox/genMETA.pl',
77 '',
78 'tgzdist: checkmeta fixmeta $(DISTVNAME).tar.gz distcheck',
79 ' -@mv -f $(DISTVNAME).tar.gz $(DISTVNAME).tgz',
80 ' -@cpants_lint.pl $(DISTVNAME).tgz',
81 ' -@rm -f Debian_CPANTS.txt',
82 '',
83 $min_vsn;
84 } # postamble