Upgrade to Time-HiRes-1.95
Steve Peters [Thu, 30 Nov 2006 04:44:54 +0000 (04:44 +0000)]
p4raw-id: //depot/perl@29423

ext/Time/HiRes/Changes
ext/Time/HiRes/HiRes.pm
ext/Time/HiRes/Makefile.PL
ext/Time/HiRes/fallback/const-c.inc

index 6769b84..e9061a7 100644 (file)
@@ -1,5 +1,15 @@
 Revision history for the Perl extension Time::HiRes.
 
+1.95   [2006-29-11]
+       - integrate core change #29180: Silence VC++ compiler warnings
+         from Steve Hay
+       - do not use PL_ppaddr in stat() because that is not available
+         in Perl 5.005_04
+       - regenerate fallback/*.inc for older Perls without
+          ExtUtils::Constant because of d_hires_stat, resolves
+         [rt.cpan.org #23694] Time::HiRes fails tests on Solaris and Perl 5.6.1
+       - Make Makefile.PL more defensive against false PERL_CORE
+
 1.94   [2006-10-16]
        - file timestamps oddities seen: the atime and mtime
          can be out of sync (modify first and read second can leave
@@ -15,7 +25,7 @@ Revision history for the Perl extension Time::HiRes.
        - skip the stat() tests in cygwin and win32, because
          if run on FAT the timestamp granularity is only 2 seconds.
          Any good way to detect (cygwin or win32) whether we are
-         being run on NTFS or anyplace with better timestamps?
+         being run on NTFS or anywhere with better timestamps?
          Addresses [rt.cpan.org #22089] and [rt.cpan.org #22098].
 
 1.92   [2006-10-13]
@@ -50,7 +60,7 @@ Revision history for the Perl extension Time::HiRes.
          system and the filesystem support that kind of thing).
 
          Contributions for more systems (especially non-UNIX,
-         e.g. but not limited to, Win32, VMS) gladly accepted.
+         e.g. but not limited to: Win32, VMS, OS/2) gladly accepted.
 
          Thanks to H.Merijn Brand, John Peacock, and Craig
          Berry for brave beta testing.
index bd2d8d3..39c743d 100644 (file)
@@ -23,7 +23,7 @@ require DynaLoader;
                 stat
                );
        
-$VERSION = '1.94_01';
+$VERSION = '1.95';
 $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
index 115cea3..bd2b64b 100644 (file)
@@ -102,6 +102,15 @@ sub try_compile_and_link {
            $COREincdir = File::Spec->catdir($Config{'archlibexp'}, 'CORE');
        }
 
+       if ($ENV{PERL_CORE}) {
+           unless (-f File::Spec->catfile($COREincdir, "EXTERN.h")) {
+               die <<__EOD__;
+Your \$ENV{PERL_CORE} is $ENV{PERL_CORE} but there is no EXTERN.h in
+$COREincdir.  Cannot continue, aborting.
+__EOD__
+           }
+       }
+
        my $ccflags = $Config{'ccflags'} . ' ' . "-I$COREincdir";
 
        if ($^O eq 'VMS') {
@@ -835,6 +844,7 @@ NOTE: if you get an error like this (the Makefile line number may vary):
 Makefile:91: *** missing separator
 then set the environment variable LC_ALL to "C" and retry
 from scratch (re-run perl "Makefile.PL").
+(And consider upgrading your Perl.)
 EOM
         }
     }
index 86028f1..a862617 100644 (file)
@@ -19,7 +19,6 @@ typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it.  */
 #ifndef pTHX_
 #define pTHX_ /* 5.6 or later define this for threading support.  */
 #endif
-
 static int
 constant_11 (pTHX_ const char *name, IV *iv_return) {
   /* When generated this function returned values for the list of names given
@@ -250,6 +249,7 @@ my @names = (qw(CLOCKS_PER_SEC CLOCK_HIGHRES CLOCK_MONOTONIC
             {name=>"d_clock_nanosleep", type=>"IV", macro=>"TIME_HIRES_CLOCK_NANOSLEEP", value=>"1", default=>["IV", "0"]},
             {name=>"d_getitimer", type=>"IV", macro=>"HAS_GETITIMER", value=>"1", default=>["IV", "0"]},
             {name=>"d_gettimeofday", type=>"IV", macro=>"HAS_GETTIMEOFDAY", value=>"1", default=>["IV", "0"]},
+            {name=>"d_hires_stat", type=>"IV", macro=>"TIME_HIRES_STAT", value=>"1", default=>["IV", "0"]},
             {name=>"d_nanosleep", type=>"IV", macro=>"TIME_HIRES_NANOSLEEP", value=>"1", default=>["IV", "0"]},
             {name=>"d_setitimer", type=>"IV", macro=>"HAS_SETITIMER", value=>"1", default=>["IV", "0"]},
             {name=>"d_ualarm", type=>"IV", macro=>"HAS_UALARM", value=>"1", default=>["IV", "0"]},
@@ -310,6 +310,17 @@ __END__
   case 11:
     return constant_11 (aTHX_ name, iv_return);
     break;
+  case 12:
+    if (memEQ(name, "d_hires_stat", 12)) {
+#ifdef TIME_HIRES_STAT
+      *iv_return = 1;
+      return PERL_constant_ISIV;
+#else
+      *iv_return = 0;
+      return PERL_constant_ISIV;
+#endif
+    }
+    break;
   case 13:
     /* Names all of length 13.  */
     /* CLOCK_HIGHRES TIMER_ABSTIME */