summaryrefslogtreecommitdiff
path: root/Makefile.PL
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.PL')
-rw-r--r--Makefile.PL93
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
+ });
+}