Apache-ASP
view release on metacpan or search on metacpan
Makefile.PL view on Meta::CPAN
#!/usr/local/bin/perl
use strict;
$| = 1;
my $mtime_makefile = (stat('Makefile'))[9] || 0;
my $fresh_makefile = ($mtime_makefile > time() - 1200) ? 1 : 0;
my $necessary_modules = {
# 'Apache' => 'Make sure your installation of mod_perl is complete',
'Class::Struct' => "Apache::ASP->Loader() precompile scripts functionality",
'MLDBM' => 'This is used for reading and writing multi-level hashes on disk',
'MLDBM::Sync 0.25' => 'Support for State dbms like $Session & $Application',
'SDBM_File' => 'Internal databases used for state files, like $Session',
'Data::Dumper' => 'Serializes data for MLDBM',
'Fcntl' => 'Used for file locking constants',
'File::Basename' => "Used for tests during 'make test'",
'Digest::MD5' => '32 byte hash algorithm for cookie session-id',
'Carp' => 'Provides critical error messaging with confess()',
};
my $optional_modules =
{
'Devel::Symdump' => 'Used for StatINC setting, which reloads modules dynamically',
'Win32::OLE' => {
test => '$^O eq \'MSWin32\'',
message => 'Required for access to ActiveX objects on Win32, like ADO.',
},
'CGI' => 'Required for file upload, make test, and command line ./cgi/asp script',
'Compress::Zlib' => "Required for html gzip text compression for browsers that support it",
# 'DB_File' => 'Optional module for StateDB & CacheDB config options',
'MLDBM::Sync::SDBM_File' => 'Optional module for StateDB config option that is faster than DB_File on Linux. Also default CacheDB for XSLT caching, but DB_File may also be used as well as Tie::TextDir.',
'HTML::Clean' => 'Compress text/html with Clean config or $Response->{Clean} set to 1-9',
'HTML::FillInForm' =>
'Enables FormFill feature which will auto fill forms from $Request->Form data',
## not relevant on apache2 context
## 'Apache::Filter' => 'Full SSI support via Apache::Filter & Apache::SSI',
## 'Apache::SSI' => 'Full SSI support via Apache::Filter & Apache::SSI',
'Net::SMTP' => 'Runtime errors can be mailed to the webmaster with MailErrorTo config',
'Net::Config' => 'Config options for use with Net::SMTP',
'Time::HiRes' => 'Sub second Apache::ASP response timing with Debug 3/-3 turned on.',
## no longer seems supported
## 'Tie::TextDir .04' => 'Fast cache for CacheDB setting for things like large XSLT transformations.',
'XML::XSLT 0.32' => 'XSLT, written in perl so makes for an easy install after installing Bundle::XML from CPAN.',
## no longer seems supported
## 'XML::Sablotron' => 'XSLT that is 10 times faster than XML::XSLT',
'XML::LibXSLT' => 'XSLT that is 2 times faster than XML::Sablotron',
};
print "Checking for the REQUIRED modules...\n";
my($errors, $warnings);
for(sort keys %$necessary_modules) {
eval 'use ' . $_ ;
my $module_display = $_;
$module_display =~ s/( [\d\.]+)$/ \>\=$1/isg;
if($@) {
$errors++;
print " !!! you need the module: $module_display\n";
print " WHY: $necessary_modules->{$_}\n";
} else {
print " ... found $module_display !\n";
}
}
print "\n";
if(! $errors) {
( run in 0.850 second using v1.01-cache-2.11-cpan-39bf76dae61 )