diff options
Diffstat (limited to 'Makefile.PL')
-rw-r--r-- | Makefile.PL | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/Makefile.PL b/Makefile.PL new file mode 100644 index 0000000..04e8793 --- /dev/null +++ b/Makefile.PL @@ -0,0 +1,93 @@ +use ExtUtils::MakeMaker; +# See lib/ExtUtils/MakeMaker.pm for details of how to influence +# the contents of the Makefile that is written. + + # That's the minimum. +use 5.00503; + + # If we're not 5.6.0, there's some corrections we need to make: Use + # 'use vars' instead of 'our' variables, get rid of 'use warnings' + # and other stuff. The eg/5005it.pl script takes care of it. +if($] < 5.006) { + require "eg/5005it.pl"; + + print <<EOT; +######################################################## +# Hm, you're still using perl 5.005. Although I don't # +# condone that, I'll let it slip this time: # +# Changing distribution to be backwards compatible ... # +EOT + mk5005("t", "lib"); + print <<EOT; +# Done. But do me a favour and upgrade soon. # +######################################################## +EOT +} + +# Check for Time::HiRes; +eval { require Time::HiRes; }; +if($@) { + print "Warning: Time::HiRes not installed, but that's ok, " . + "%r will use full seconds\n"; +} + +my $meta_merge = { + META_MERGE => { + resources => { + repository => 'http://github.com/mschilli/log4perl', + MailingList => 'mailto:log4perl-devel@lists.sourceforge.net', + }, + } +}; + +WriteMakefile( + 'NAME' => 'Log::Log4perl', + 'VERSION_FROM' => 'lib/Log/Log4perl.pm', # finds $VERSION + 'PREREQ_PM' => { Test::More => 0.45, + File::Spec => 0.82, + File::Path => 2.06_06, + }, # e.g., Module::Name => 1.1 + ($] >= 5.005 ? ## Add these new keywords supported since 5.005 + (ABSTRACT_FROM => 'lib/Log/Log4perl.pm', # retrieve abstract from module + AUTHOR => 'Mike Schilli <m@perlmeister.com>') : ()), + 'LIBS' => [''], # e.g., '-lm' + 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' + # Insert -I. if you add *.h files later: + 'INC' => '', # e.g., '-I/usr/include/other' + # Un-comment this if you add C files to link with later: + # 'OBJECT' => '$(O_FILES)', # link all the C files too + 'clean' => {FILES => "*.tar.gz *.ppd pod2htm*"}, + EXE_FILES => ["eg/l4p-tmpl"], + $ExtUtils::MakeMaker::VERSION >= 6.50 ? (%$meta_merge) : (), + get_man3pods(), +); + +########################################## +sub get_man3pods { +########################################## + # Only done for versions < 5.8.0 + return () if $] >= 5.008; + + print <<EOT; +################################################## +# Detected buggy MakeMaker version, creating man # +# pages manually # +################################################## +EOT + require File::Find; + + my @pms = (); + + File::Find::find(sub { + push @pms, $File::Find::name if /\.pm$/ + }, "lib"); + + return('MAN3PODS', { + map { my @comps = split /\//, $_; + shift @comps; + my $csep = join '::', @comps; + $csep =~ s/\.pm$//; + ($_, "\$(INST_MAN3DIR)/$csep.\$(MAN3EXT)"); + } @pms + }); +} |