don't list extra prereqs on perl < 5.8.4
Graham Knop [Fri, 15 Nov 2013 19:53:49 +0000 (14:53 -0500)]
Makefile.PL

index 6e5f866..9c341ac 100644 (file)
@@ -4,6 +4,15 @@ use ExtUtils::MakeMaker;
 
 (do 'maint/Makefile.PL.include' or die $@) unless -f 'META.yml';
 
+my %extra_prereqs = (
+  indirect => 0,
+  multidimensional => 0,
+  'bareword::filehandles' => 0,
+);
+my $have_compiler
+  = eval { require ExtUtils::CBuilder; 1 }
+  && ExtUtils::CBuilder->new->have_compiler;
+
 WriteMakefile(
   NAME => 'strictures',
   VERSION_FROM => 'lib/strictures.pm',
@@ -27,27 +36,18 @@ WriteMakefile(
     },
 
     prereqs => {
-      runtime => {
-        recommends => {
-          indirect => 0,
-          multidimensional => 0,
-          'bareword::filehandles' => 0,
-        },
-      },
       configure => {
         requires => {
           'ExtUtils::CBuilder' => 0,
         },
       },
+      runtime => {
+        ( $] >= 5.008004 && !$have_compiler
+          ? ( recommends => \%extra_prereqs ) : () ),
+      },
     },
   },
 
-  (eval { require ExtUtils::CBuilder; 1 }
-      and ExtUtils::CBuilder->new->have_compiler)
-      ? (PREREQ_PM => {
-            indirect => 0,
-            multidimensional => 0,
-            'bareword::filehandles' => 0,
-      })
-      : (),
+  ($] >= 5.008004 && $have_compiler
+    ? ( PREREQ_PM => \%extra_prereqs ) : () ),
 );