]> git.vpit.fr Git - perl/modules/Variable-Magic.git/commitdiff
Set VMG_COMPAT_ARRAY_PUSH_NOLEN for Windows ActiveState Perl 5.8.x
authorVincent Pit <vince@profvince.com>
Fri, 4 Jul 2008 12:12:29 +0000 (14:12 +0200)
committerVincent Pit <vince@profvince.com>
Fri, 4 Jul 2008 12:12:29 +0000 (14:12 +0200)
Magic.xs
Makefile.PL

index 85d7c85133e4df513efd0fddb77fee7e22758594..82631169a3f7055157fd48cde7b844cd663d6dd7 100644 (file)
--- a/Magic.xs
+++ b/Magic.xs
@@ -74,7 +74,7 @@
 # define VMG_UVAR 0
 #endif
 
-#if (VMG_PERL_PATCHLEVEL >= 25854) || (!VMG_PERL_PATCHLEVEL && PERL_VERSION_GE(5, 9, 3))
+#if !defined(VMG_COMPAT_ARRAY_PUSH_NOLEN) && ((VMG_PERL_PATCHLEVEL >= 25854) || (!VMG_PERL_PATCHLEVEL && PERL_VERSION_GE(5, 9, 3)))
 # define VMG_COMPAT_ARRAY_PUSH_NOLEN 1
 #else
 # define VMG_COMPAT_ARRAY_PUSH_NOLEN 0
index a8d679e57f370e545c31f2531e21c43873f2d1f5..a656e7a969b45ca463dc8de5a416aa596bbcdf7c 100644 (file)
@@ -11,16 +11,34 @@ BEGIN {
 }
 
 my @DEFINES;
+
 my $pl = $Config{perl_patchlevel};
 print "Checking perl patchlevel... ";
 if (defined $pl && length $pl) {
  $pl = int $pl;
- push @DEFINES, DEFINE => '-DVMG_PERL_PATCHLEVEL=' . $pl;
+ push @DEFINES, '-DVMG_PERL_PATCHLEVEL=' . $pl;
  print $pl, "\n";
 } else {
  print "none\n";
 }
 
+my $is_as = 0;
+print "Checking if this is Windows ActiveState 5.8.x... ";
+if ($^O eq 'MSWin32' && $^V ge v5.8.7 && $^V lt v5.9.0) {
+ eval {
+  require Win32;
+  1;
+ } and do {
+  if (defined &Win32::BuildNumber) {
+   $is_as = 1;
+   push @DEFINES, '-DVMG_COMPAT_ARRAY_PUSH_NOLEN=1';
+  }
+ }
+}
+print $is_as ? "yes\n" : "no\n";
+
+@DEFINES = (DEFINE => join ' ', @DEFINES) if @DEFINES;
+
 my $BUILD_REQUIRES = {
  'Config'              => 0,
  'ExtUtils::MakeMaker' => 0,