]> git.vpit.fr Git - perl/modules/Variable-Magic.git/blobdiff - Makefile.PL
Clarify some logic in Makefile.PL
[perl/modules/Variable-Magic.git] / Makefile.PL
index 644bb90b051aee2da50b66e2bfaa0c09c088ed1e..cef05b243960677eb4be4031f21aff54c6cd4086 100644 (file)
@@ -19,35 +19,45 @@ if (defined $pl && length $pl) {
  push @DEFINES, '-DVMG_PERL_PATCHLEVEL=' . $pl;
  print $pl, "\n";
 } else {
+ $pl = undef;
  print "none\n";
 }
 
-my $is_as = 0;
+my $as_perl = eval {
+ require ActivePerl;
+ defined &ActivePerl::BUILD ? ActivePerl::BUILD() : undef
+};
+
+my $is_as_822 = 0;
 print "Checking if this is ActiveState Perl 5.8.8 build 822 or higher... ";
-if ($^V eq v5.8.8) {
- eval {
-  require ActivePerl;
-  1;
- } and do {
-  if (defined &ActivePerl::BUILD) {
-   my $build = int ActivePerl::BUILD();
-   if ($build >= 822) {
-    $is_as = 1;
-    push @DEFINES, '-DVMG_COMPAT_ARRAY_PUSH_NOLEN=1';
-   }
-  }
+if ($^V eq v5.8.8 and defined $as_perl and $as_perl >= 822) {
+ $is_as_822 = 1;
+ push @DEFINES, '-DVMG_COMPAT_ARRAY_PUSH_NOLEN=1';
+}
+print $is_as_822 ? "yes\n" : "no\n";
+
+my $is_5110rel = 0;
+print "Checking if this is a released perl 5.11.0 or higher... ";
+if ($^V ge v5.11.0 and not defined $pl) {
+ my $describe = $Config{git_describe};
+ # An empty 'describe' is fine
+ if (defined $describe and $describe !~ /^GitLive-/) {
+  $is_5110rel = 1;
+  push @DEFINES, '-DVMG_COMPAT_ARRAY_PUSH_NOLEN=0';
  }
 }
-print $is_as ? "yes\n" : "no\n";
+print $is_5110rel ? "yes\n" : "no\n";
 
 # Threads, Windows and 5.8.x don't seem to be best friends
 if ($^O eq 'MSWin32' && $^V lt v5.9.0) {
  push @DEFINES, '-DVMG_MULTIPLICITY=0';
+ print "Thread safety disabled for perl 5.8.x on Windows.\n"
 }
 
 # Fork emulation got "fixed" in 5.10.1
 if ($^O eq 'MSWin32' && $^V lt v5.10.1) {
  push @DEFINES, '-DVMG_FORKSAFE=0';
+ print "Fork safety not ensured for perl 5.8.x and 5.10.0 on Windows.\n";
 }
 
 @DEFINES = (DEFINE => join ' ', @DEFINES) if @DEFINES;