summaryrefslogtreecommitdiff
path: root/Makefile.PL
blob: 848929514d055e6e982a563d8e12cfa462eb8ba4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
require 5.008;
use ExtUtils::MakeMaker;

WriteMakefile(
    NAME => 'Encode::Locale',
    VERSION_FROM => 'lib/Encode/Locale.pm',
    ABSTRACT_FROM => "lib/Encode/Locale.pm",
    AUTHOR => 'Gisle Aas <gisle@activestate.com>',
    LICENSE => "perl",
    MIN_PERL_VERSION => 5.008,
    PREREQ_PM    => {
	'Encode' => 2,
	'Encode::Alias' => 0,
    },
    META_MERGE => {
        resources => {
            repository => 'http://github.com/gisle/encode-locale',
        },
        recommends => {
            'I18N::Langinfo' => 0,
            ($^O eq 'MSWin32'
                ? ('Win32::Console' => 0)
                : ()),
        },
    },
    TEST_REQUIRES => {
        'Test::More' => 0,
    },
);

BEGIN {
    # compatibility with older versions of MakeMaker
    my $developer = -d ".git";
    my %mm_req = (
        LICENCE => 6.31,
        META_MERGE => 6.45,
        META_ADD => 6.45,
        MIN_PERL_VERSION => 6.48,
        BUILD_REQUIRES => 6.56,
        TEST_REQUIRES => 6.64,
    );
    undef(*WriteMakefile);
    *WriteMakefile = sub {
        my %arg = @_;
        unless (eval { ExtUtils::MakeMaker->VERSION($mm_req{TEST_REQUIRES}) }) {
            warn "Downgrading TEST_REQUIRES" if $developer;
            $arg{BUILD_REQUIRES} = {
                %{ $arg{BUILD_REQUIRES} },
                %{ delete $arg{TEST_REQUIRES} },
            };
        }
        for (keys %mm_req) {
            unless (eval { ExtUtils::MakeMaker->VERSION($mm_req{$_}) }) {
                warn "$_ $@" if $developer;
                delete $arg{$_};
            }
        }
        ExtUtils::MakeMaker::WriteMakefile(%arg);
    };
}