simplify dynamic prereq setting to only add Cpanel::JSON::XS if possible
Graham Knop [Fri, 1 May 2020 15:48:32 +0000 (17:48 +0200)]
Since we are always trying to add Cpanel::JSON::XS as a prereq, and the
module prefers it if it is installed, there's no purpose to trying to
upgrade JSON::XS.

We can simplify the dynamic prereq handling to just add Cpanel::JSON::XS
if XS compilation is available.

Makefile.PL

index 3dcae79..d32e628 100644 (file)
@@ -67,18 +67,8 @@ my %MM_ARGS = ();
 
 ## DYNAMIC PREREQS ###########################################################
 
-if (! parse_args()->{PUREPERL_ONLY}) {
-  # we require Cpanel::JSON::XS whenever a compiler is available.
-  # (we also always recommend Cpanel::JSON::XS, just to make sure.)
-  $MM_ARGS{PREREQ_PM}{'Cpanel::JSON::XS'} = '2.3310'
-    if eval { require Cpanel::JSON::XS; 1 }
-      or can_compile_loadable_object(quiet => 1);
-
-  # JSON::XS 3 changed its boolean handling - update it
-  # if JSON::XS is installed and < 3.0
-  $MM_ARGS{PREREQ_PM}{'JSON::XS'} = '3.00'
-    if eval { require JSON::XS; 1 }
-      and not eval { JSON::XS->VERSION('3.0'); 1 };
+if (! parse_args()->{PUREPERL_ONLY} && can_compile_loadable_object(quiet => 1)) {
+  $MM_ARGS{PREREQ_PM}{'Cpanel::JSON::XS'} = '2.3310';
 }
 
 use Text::ParseWords;