/usr/local/CPAN/OpenResty/Makefile.PL


use strict;
use lib '.';
use inc::Module::Install;

name                ('OpenResty');
license             ('bsd');
author              ('Agent Zhang <agentzh@yahoo.cn>');
perl_version        ('5.006001');
all_from            ('lib/OpenResty.pm');

repository 'http://github.com/agentzh/openresty/tree/master';

my $arg = 'devel';
if (@ARGV && $ARGV[0] ne 'releng' && $ARGV[0] =~ /^\w+$/) {
    $arg = shift;
}

my $version = version();
$version .= 0 until length($version) >= length('0.123456');
$version =~ s{^(\d+)\.(\d{3})(\d{3})?$}{join '.', int($1), int($2), int($3||0)}e;
version($version);

install_script('bin/openresty');
if (-f 'haskell/bin/restyscript') {
    install_script('haskell/bin/restyscript');
}
use_test_base();

requires            ('CGI::Cookie::XS' => '0.15');
requires            ('FCGI');
requires            ('CGI::Simple' => '1.103');
requires            ('CGI::Simple::Cookie');
requires            ('YAML::Syck' => '1.04');
requires            ('List::Util');
requires            ('DBI' => '1.57');
requires            ('Clone' => '0.22');
requires            ('Params::Util' => '0.22');
requires            ('Parse::Yapp');
requires            ('DBD::Pg' => '1.49');
requires            ('Data::UUID' => '1.148');
requires            ('GD::SecurityImage' => '1.64');
requires            ('Cache::Memcached::libmemcached' => '0.02008');
requires            ('Hash::Merge');
#requires            ('List::MoreUtils');
requires            ('Config::Simple');
requires            ('Encode::Guess');
requires            ('List::MoreUtils');
requires            ('JSON::XS' => '2.2222');
requires            ('Data::Structure::Util' => '0.15');
requires            ('DateTime::Format::Pg');
requires            ('DateTime::Format::Strptime');
requires            ('Digest::MD5');
requires            ('File::ShareDir');
requires            ('Compress::Zlib');
# modules needed by new captcha mechanism
requires			('Crypt::CBC');
requires			('Crypt::Rijndael');
requires                        ('IPC::Run3');
requires                        ('IPC::Run');
requires                        ('Time::HiRes');
requires                        ('Filter::QuasiQuote' => '0.07');
requires                        ('Parse::RecDescent');

recommends          ('Benchmark::Timer');
recommends          ('HTTP::Server::Simple' => '0.27');
#recommends          ('Net::Server::PreFork');
recommends          ('Text::Diff');
recommends          ('Text::Table');
recommends          ('Term::ReadLine::Perl');
recommends          ('Term::ReadLine::Gnu');

if ($arg eq 'product') {
    features(
        'Test suite' => [
            -default => 0,
                recommends    ('Term::ReadKey' => '2.30'),
                recommends    ('CGI' => '3.33'),
                recommends    ('Cache::Cache' => '1.05'),
                recommends    ('Class::Prototyped'),
                recommends    ('Test::LongString'),
                recommends    ('HTTP::Response' => '1.53'),
                recommends    ('WWW::OpenResty' => '0.09'),
        ]
    );
} elsif ($arg eq 'devel') {
    build_requires      ('CGI' => '3.33');
    build_requires      ('Class::Prototyped');
    build_requires      ('Test::LongString');
    build_requires      ('Text::Diff');
    build_requires      ('LWP::UserAgent');
    build_requires      ('HTTP::Response' => '1.53');
    build_requires      ('Cache::Cache' => '1.05');
    build_requires      ('WWW::OpenResty' => '0.09'),
} else {
    die "Unknown Makefile.PL argument: \"$arg\"\n";
}

#recommends          ('Cache::FastMmap' => '1.24');

no_index( directory => qw< etc misc tmp demo minisql clients doc t > );
tests('t/*.t t/col-not-null/*.t t/col-unique/*.t');

auto_install();

# XXX This is not Windows friendly...
my $site_conf = 'etc/site_openresty.conf';
if (!-e $site_conf) {
    warn "cp etc/openresty.conf $site_conf\n";
    #print $^O;
    eval {
        require File::Copy;
    };
    if ($@) {
        my $cmd = 'cp';
        system("$cmd etc/openresty.conf $site_conf");
    } else {
        File::Copy::copy("etc/openresty.conf", $site_conf);
    }
}

system("$^X bin/revision.pl");

my $message = "Download the Chinese font file (14 MB) from agentzh.org to get Chinese captcha support? [n]";
my $ans = prompt($message);
if ($ans && $ans =~ /y/i) {
    system("$^X bin/fetch-font.pl");
}

install_share;

WriteAll();