Correct the sLOCALTIME_{min|max} values added by #34363 for BCC and VC9
[p5sagit/p5-mst-13.2.git] / win32 / config_sh.PL
index 194d449..a30dfcf 100644 (file)
@@ -131,6 +131,22 @@ if ($opt{uselargefiles} eq 'define' and $opt{cc} ne 'bcc32') {
     }
 }
 
+# change the s{GM|LOCAL}TIME_{min|max} for VS2005 (aka VC 8) and
+# VS2008 (aka VC 9) or higher (presuming that later versions will have
+# at least the range of that).
+if ($opt{cc} eq 'cl' and $opt{ccversion} =~ /^(\d+)/) {
+    my $ccversion = $1;
+    if ($ccversion == 14) {
+       $opt{sGMTIME_max} = 32535244799;
+       $opt{sLOCALTIME_max} = 32535244799;
+    }
+    elsif ($ccversion >= 15) {
+       $opt{sGMTIME_min} = -43200;
+       $opt{sGMTIME_max} = 32535291599;
+       $opt{sLOCALTIME_max} = 32535244799;
+    }
+}
+
 if ($opt{useithreads} eq 'define' && $opt{ccflags} =~ /-DPERL_IMPLICIT_SYS\b/) {
     $opt{d_pseudofork} = 'define';
 }