3 # Copyright PROCURA B.V. (c) 2006-2013 H.Merijn Brand
5 require 5.006001; # <- also see postamble at the bottom for META.yml
8 use ExtUtils::MakeMaker;
11 NAME => "Text::CSV_XS",
12 DISTNAME => "Text-CSV_XS",
13 ABSTRACT => "Comma-Separated Values manipulation routines",
14 AUTHOR => "H.Merijn Brand <h.merijn\@xs4all.nl>",
15 VERSION_FROM => "CSV_XS.pm",
16 PREREQ_PM => { "DynaLoader" => 0,
21 clean => { FILES => join " ", qw(
31 macro => { GCC_WALL => (join " " => qw(
32 -Wall -Wextra -Wbad-function-cast -Wcomment -Wcomments
33 -Wformat -Wdisabled-optimization -Wmissing-prototypes
34 -Werror-implicit-function-declaration -Wmissing-noreturn
35 -Wmissing-format-attribute -Wno-cast-qual -Wunused-value
36 -Wno-sign-compare -Wpointer-arith -Wreturn-type -Wshadow
37 -Wswitch-default -Wuninitialized -Wunreachable-code
40 TARFLAGS => "--format=ustar -c -v -f",
41 "#OPTIMIZE" => "-O2 \$(GCC_WALL)",
44 $ExtUtils::MakeMaker::VERSION > 6.30 and $wm{LICENSE} = "perl";
46 my $rv = WriteMakefile (%wm);
54 my $make_sep = $^O eq "VMS" ? "," : "";
55 my $valgrind = join " ", qw(
56 PERL_DESTRUCT_LEVEL=2 PERL_DL_NONLAZY=1
58 --suppressions=sandbox/perl.supp
60 --leak-resolution=high
65 "-MPerl::Destruct::Level=level,2"
66 "-MExtUtils::Command::MM" "-e"
67 "test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')"
68 $(TEST_FILES) 3>valgrind.log
71 my $min_vsn = ($] >= 5.010 && -d "xt" && -d "tmp" && ($ENV{AUTOMATED_TESTING} || 0) != 1)
74 ' -@env TEST_FILES="xt/*.t" make -e test_dynamic',
78 'cover $make_sep test_cover:',
84 ' env HARNESS_PERL=sandbox/leakperl make test',
85 ' -@tail -14 valgrind.log',
89 ' -@tail -14 valgrind.log',
92 q{ sandbox/leaktest $(FULLPERLRUN) "test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES)},
95 q{ sandbox/leaktrace $(FULLPERLRUN) "test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES)},
98 ' pod-spell-check --aspell --ispell',
100 'checkmeta: spellcheck',
101 ' perl sandbox/genPPPort_h.pl',
102 ' perl sandbox/genMETA.pl -c',
105 ' perl sandbox/genMETA.pl',
107 'tgzdist: checkmeta fixmeta $(DISTVNAME).tar.gz distcheck',
108 ' -@mv -f $(DISTVNAME).tar.gz $(DISTVNAME).tgz',
109 ' -@cpants_lint.pl $(DISTVNAME).tgz',
110 ' -@rm -f Debian_CPANTS.txt',
112 'test_speed: pure_all',
113 ' PERL_DL_NONLAZY=1 $(FULLPERLRUN) -I"$(INST_LIB)" -I"$(INST_ARCHLIB)" examples/speed.pl',