This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
111d85ad541cc8c2c87cab2dc63f6759c2058dc9
[perl5.git] / dist / XSLoader / Makefile.PL
1 # A template for Makefile.PL.
2 # - Set the $PACKAGE variable to the name of your module.
3 # - Set $LAST_API_CHANGE to reflect the last version you changed the API 
4 #   of your module.
5 # - Fill in your dependencies in PREREQ_PM
6 # Alternatively, you can say the hell with this and use h2xs.
7
8 use ExtUtils::MakeMaker;
9 eval 'use ExtUtils::MakeMaker::Coverage';
10
11 $PACKAGE = 'XSLoader';
12 ($PACKAGE_FILE = $PACKAGE) =~ s|::|/|g;
13 $LAST_API_CHANGE = 0;
14
15 eval "require $PACKAGE";
16
17 unless ($@) { # Make sure we did find the module.
18     print <<"CHANGE_WARN" if ${$PACKAGE.'::VERSION'} < $LAST_API_CHANGE;
19
20 NOTE: There have been API changes between this version and any older
21 than version $LAST_API_CHANGE!  Please read the Changes file if you
22 are upgrading from a version older than $LAST_API_CHANGE.
23
24 CHANGE_WARN
25 }
26
27 # In case the empty lib/ directory was not created.
28 mkdir 'lib', 0755 unless $ENV{PERL_CORE};
29
30 # starting with Perl 5.11, "site" and "vendor" directories finally are
31 # before "perl" (core) in @INC, thus allowing dual-life modules to be
32 # updated without the need to overwrite the old version
33 my $installdirs = $] < 5.011 ? "perl" : "site";
34
35 WriteMakefile(
36     NAME            => $PACKAGE,
37     ($ExtUtils::MakeMaker::VERSION > 6.30 ?
38      (LICENSE       => 'perl',
39       AUTHOR        => 'Sebastien Aperghis-Tramoni <sebastien@aperghis.net>',
40       ABSTRACT_FROM => 'XSLoader_pm.PL',
41      ) : ()),
42     VERSION_FROM    => 'XSLoader_pm.PL',
43     INSTALLDIRS     => $installdirs,
44     PL_FILES        => { 'XSLoader_pm.PL'  => 'XSLoader.pm' },
45     PM              => { 'XSLoader.pm' => '$(INST_ARCHLIB)/XSLoader.pm' },
46     PREREQ_PM       => {
47         'Test::More' => '0.62',
48     },
49     dist            => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
50     clean           => { FILES => 'XSLoader-* XSLoader.pm' },
51 );
52
53 # Unlink the .pm file included with the distribution
54 1 while unlink "XSLoader.pm";
55
56 {
57     package MY;
58
59     sub test_via_harness {
60         my($self, $orig_perl, $tests) = @_;
61
62         my @perls = ($orig_perl);
63         push @perls, qw(bleadperl 
64                         perl5.6.1
65                         perl5.6.0
66                         perl5.005_03 
67                         perl5.004_05 
68                         perl5.004_04
69                         perl5.004)
70           if $ENV{PERL_TEST_ALL};
71
72         my $out;
73         foreach my $perl (@perls) {
74             $out .= $self->SUPER::test_via_harness($perl, $tests);
75         }
76
77         return $out;
78     }
79 }