Apache-Reload
view release on metacpan or search on metacpan
Makefile.PL view on Meta::CPAN
else {
require_mod_perl();
$selected = $mod_perl::VERSION >= 1.99 ? 2 : 1;
warn "Using $mod_perl::VERSION\n";
}
return $selected;
}
sub require_mod_perl {
my($rversion) = @_;
if (!$rversion || $rversion==1){
eval { require mod_perl };
if ($rversion == 1){
if ($@){
warn "Note: Did not find mod_perl installed\n";
}
return; # do not die, let PREREQ_PM handle it
}
}
if ($@ || !$rversion || $rversion==2){
eval { require mod_perl2 };
if ($rversion == 2){
if ($@){
warn "Note: Did not find mod_perl2 installed\n";
}
return; # do not die, let PREREQ_PM handle it
}
}
die "Can't find mod_perl installed\nThe error was: $@" if $@;
}
# the function looks at %ENV and Makefile.PL option to figure out
# whether a specific mod_perl generation was requested.
# It uses the following logic:
# via options:
# perl Makefile.PL MOD_PERL=2
# or via %ENV:
# env MOD_PERL=1 perl Makefile.PL
#
# return value is:
# 1 or 2 if the specification was found (mp 1 and mp 2 respectively)
# 0 otherwise
sub wanted_mp_generation {
# check if we have a command line specification
# flag: 0: unknown, 1: mp1, 2: mp2
my $flag = 0;
foreach my $key (@ARGV) {
if ($key =~ /^MOD_PERL=(\d)$/) {
$flag = $1;
}
}
# check %ENV
my $env = exists $ENV{MOD_PERL} ? $ENV{MOD_PERL} : 0;
# check for contradicting requirements
if ($env && $flag && $flag != $env) {
die <<EOF;
Can\'t decide which mod_perl version should be used, since you have
supplied contradicting requirements:
enviroment variable MOD_PERL=$env
Makefile.PL option MOD_PERL=$flag
EOF
}
my $wanted = 0;
$wanted = 2 if $env == 2 || $flag == 2;
$wanted = 1 if $env == 1 || $flag == 1;
unless ($wanted) {
# if still unknown try to require mod_perl.pm
eval { require mod_perl };
if ($@) {
# if we don't have mp1, check for mp2
# see if we are in the mp2 build structure
eval { require File::Spec };
unless ($@) {
my $mplib = File::Spec->catdir('..', 'lib');
unshift @INC, $mplib if -e File::Spec->catfile($mplib,'mod_perl2.pm');
my $atlib = File::Spec->catdir('../', 'Apache-Test', 'lib');
unshift @INC, $atlib if -d $atlib;
}
eval { require mod_perl2 };
unless ($@) {
$wanted = 2;
}
}
else {
$wanted = 1;
}
}
return $wanted;
}
package MY;
sub postamble {
my $self = shift;
my $q = ($^O =~ /MSWin32/i ? '"' : "'");
my $string = $self->SUPER::postamble;
$string .= <<"EOF";
tag :
svn copy -m $q\$(VERSION_SYM) tag$q https://svn.apache.org/repos/asf/perl/Apache-Reload/trunk https://svn.apache.org/repos/asf/perl/Apache-Reload/tags/\$(VERSION_SYM)
EOF
return $string;
}
sub test {
my $self = shift;
eval { require Test::More } or return <<EOF;
test::
\t\@echo sorry, cannot run tests without Test::More
( run in 0.417 second using v1.01-cache-2.11-cpan-39bf76dae61 )