1use ExtUtils::MakeMaker;
2
3my $mm_ver = $ExtUtils::MakeMaker::VERSION;
4if ($mm_ver =~ /_/) { # dev version
5    $mm_ver = eval $mm_ver;
6    die $@ if $@;
7}
8
9my %config = (
10    'NAME'	   => 'AppConfig',
11    'VERSION_FROM' => 'lib/AppConfig.pm', # finds $VERSION
12    'PMLIBDIRS'    => [ 'lib' ],
13    'PREREQ_PM'    => {
14        'Test::More'    => 0,
15    },
16    'MAN3PODS' => {
17        # We must explicitly name AppConfig.pm et al as manifyable files.
18        # MakeMaker ignores files that match  /(config|setup).*\.pm/i;
19        'lib/AppConfig.pm'  => '$(INST_MAN3DIR)/AppConfig.$(MAN3EXT)',
20        map {
21            ( "lib/AppConfig/${_}.pm",
22              "\$(INST_MAN3DIR)/AppConfig::${_}.\$(MAN3EXT)" ) ;
23        } qw( Args CGI File Getopt State Sys ),
24    },
25    'dist' => {
26        'COMPRESS' => 'gzip',
27        'SUFFIX'   => 'gz',
28    },
29
30    ($mm_ver <= 6.45
31        ? ()
32        : (META_MERGE => {
33            'meta-spec' => { version => 2 },
34            resources => {
35                repository  => {
36                    type => 'git',
37                    web  => 'https://github.com/neilbowers/AppConfig',
38                    url  => 'git://github.com/neilbowers/AppConfig.git',
39                },
40            },
41          })
42    ),
43
44    ($mm_ver <= 6.45
45        ? ()
46        : (TEST_REQUIRES => {
47            # optional modules only required for testing
48            'Test::Pod' => '1.0',
49        })
50    ),
51
52    ($mm_ver < 6.48
53        ? ()
54        : (MIN_PERL_VERSION => '5.8.8',)
55    ),
56
57    ($mm_ver <= 6.31
58        ? ()
59        : (LICENSE => 'perl_5')
60    ),
61
62);
63
64## for PPD on win32
65if ($] ge '5.005') {
66    $config{ AUTHOR   } = 'Andy Wardley <abw@wardley.org>',
67    $config{ ABSTRACT } = 'AppConfig is a bundle of Perl5 modules for reading configuration files and parsing command line arguments.';
68}
69
70WriteMakefile(%config);
71