diff options
Diffstat (limited to 'cpan/Time-HiRes')
-rw-r--r-- | cpan/Time-HiRes/Changes | 9 | ||||
-rw-r--r-- | cpan/Time-HiRes/HiRes.pm | 4 | ||||
-rw-r--r-- | cpan/Time-HiRes/HiRes.xs | 36 | ||||
-rw-r--r-- | cpan/Time-HiRes/Makefile.PL | 21 |
4 files changed, 50 insertions, 20 deletions
diff --git a/cpan/Time-HiRes/Changes b/cpan/Time-HiRes/Changes index c365e9924f..0515b8fa6f 100644 --- a/cpan/Time-HiRes/Changes +++ b/cpan/Time-HiRes/Changes @@ -1,5 +1,14 @@ Revision history for the Perl extension Time::HiRes. +1.9722 [2011-05-18] + - Update for changes in build process in the core, patches + from BinGOs [rt.cpan.org #58858] and Craig Berry [rt.cpan.org + #63363]. + - Fix broken linkage on Windows with gcc 3.4 seen with ActivePerl, + report from Christian Walde [rt.cpan.org #61648], fix derived + from Vincent Pit. + - Jump through hoops to avoid compiler warnings. + 1.9721 [2010-03-17] - Address [rt.cpan.org #54196] alarm and ularm return values are bogus, additional fix from Gisle Aas diff --git a/cpan/Time-HiRes/HiRes.pm b/cpan/Time-HiRes/HiRes.pm index 8f2ec21331..e6295a8085 100644 --- a/cpan/Time-HiRes/HiRes.pm +++ b/cpan/Time-HiRes/HiRes.pm @@ -23,7 +23,7 @@ require DynaLoader; stat ); -$VERSION = '1.9721_01'; +$VERSION = '1.9722'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -585,6 +585,8 @@ Copyright (c) 1996-2002 Douglas E. Wegscheid. All rights reserved. Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Jarkko Hietaniemi. All rights reserved. +Copyright (C) 2011 Andrew Main (Zefram) <zefram@fysh.org> + This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/Time-HiRes/HiRes.xs b/cpan/Time-HiRes/HiRes.xs index 1dc2a6829b..970baa1bfa 100644 --- a/cpan/Time-HiRes/HiRes.xs +++ b/cpan/Time-HiRes/HiRes.xs @@ -4,6 +4,8 @@ * * Copyright (c) 2002-2010 Jarkko Hietaniemi. * All rights reserved. + * + * Copyright (C) 2011 Andrew Main (Zefram) <zefram@fysh.org> * * This program is free software; you can redistribute it and/or modify * it under the same terms as Perl itself. @@ -716,39 +718,34 @@ myNVtime() #endif /* #ifdef HAS_GETTIMEOFDAY */ static void -hrstatns(UV atime, UV mtime, UV ctime, UV *atime_nsec, UV *mtime_nsec, UV *ctime_nsec) +hrstatns(UV *atime_nsec, UV *mtime_nsec, UV *ctime_nsec) { dTHXR; - *atime_nsec = 0; - *mtime_nsec = 0; - *ctime_nsec = 0; -#ifdef TIME_HIRES_STAT #if TIME_HIRES_STAT == 1 *atime_nsec = PL_statcache.st_atimespec.tv_nsec; *mtime_nsec = PL_statcache.st_mtimespec.tv_nsec; *ctime_nsec = PL_statcache.st_ctimespec.tv_nsec; -#endif -#if TIME_HIRES_STAT == 2 +#elif TIME_HIRES_STAT == 2 *atime_nsec = PL_statcache.st_atimensec; *mtime_nsec = PL_statcache.st_mtimensec; *ctime_nsec = PL_statcache.st_ctimensec; -#endif -#if TIME_HIRES_STAT == 3 +#elif TIME_HIRES_STAT == 3 *atime_nsec = PL_statcache.st_atime_n; *mtime_nsec = PL_statcache.st_mtime_n; *ctime_nsec = PL_statcache.st_ctime_n; -#endif -#if TIME_HIRES_STAT == 4 +#elif TIME_HIRES_STAT == 4 *atime_nsec = PL_statcache.st_atim.tv_nsec; *mtime_nsec = PL_statcache.st_mtim.tv_nsec; *ctime_nsec = PL_statcache.st_ctim.tv_nsec; -#endif -#if TIME_HIRES_STAT == 5 +#elif TIME_HIRES_STAT == 5 *atime_nsec = PL_statcache.st_uatime * 1000; *mtime_nsec = PL_statcache.st_umtime * 1000; *ctime_nsec = PL_statcache.st_uctime * 1000; -#endif -#endif +#else /* !TIME_HIRES_STAT */ + *atime_nsec = 0; + *mtime_nsec = 0; + *ctime_nsec = 0; +#endif /* !TIME_HIRES_STAT */ } #include "const-c.inc" @@ -765,8 +762,10 @@ BOOT: #ifdef ATLEASTFIVEOHOHFIVE # ifdef HAS_GETTIMEOFDAY { - hv_store(PL_modglobal, "Time::NVtime", 12, newSViv(PTR2IV(myNVtime)), 0); - hv_store(PL_modglobal, "Time::U2time", 12, newSViv(PTR2IV(myU2time)), 0); + (void) hv_store(PL_modglobal, "Time::NVtime", 12, + newSViv(PTR2IV(myNVtime)), 0); + (void) hv_store(PL_modglobal, "Time::U2time", 12, + newSViv(PTR2IV(myU2time)), 0); } # endif #endif @@ -1248,8 +1247,7 @@ PROTOTYPE: ;$ UV atime_nsec; UV mtime_nsec; UV ctime_nsec; - hrstatns(atime, mtime, ctime, - &atime_nsec, &mtime_nsec, &ctime_nsec); + hrstatns(&atime_nsec, &mtime_nsec, &ctime_nsec); if (atime_nsec) ST( 8) = sv_2mortal(newSVnv(atime + 1e-9 * (NV) atime_nsec)); if (mtime_nsec) diff --git a/cpan/Time-HiRes/Makefile.PL b/cpan/Time-HiRes/Makefile.PL index 9436f0cabe..7766f29b2b 100644 --- a/cpan/Time-HiRes/Makefile.PL +++ b/cpan/Time-HiRes/Makefile.PL @@ -768,6 +768,27 @@ sub doMakefile { realclean => { FILES=> 'const-c.inc const-xs.inc' }, ); + if ($^O eq "MSWin32" && !(grep { /\ALD[A-Z]*=/ } @ARGV)) { + my $libperl = $Config{libperl} || ""; + my $gccversion = $Config{gccversion} || ""; + if ($gccversion =~ /\A3\.4\.[0-9]+/ and $libperl =~ /\.lib\z/) { + # Avoid broken linkage with ActivePerl, by linking directly + # against the Perl DLL rather than the import library. + (my $llibperl = "-l$libperl") =~ s/\.lib\z//; + my $lddlflags = $Config{lddlflags} || ""; + my $ldflags = $Config{ldflags} || ""; + s/-L(?:".*?"|\S+)//g foreach $lddlflags, $ldflags; + my $libdirs = join ' ', + map { s/(?<!\\)((?:\\\\)*")/\\$1/g; qq[-L"$_"] } + @Config{qw/bin sitebin/}; + push @makefileopts, macro => { + LDDLFLAGS => "$lddlflags $libdirs $llibperl", + LDFLAGS => "$ldflags $libdirs $llibperl", + PERL_ARCHIVE => "", + }; + } + } + if ($ENV{PERL_CORE}) { push @makefileopts, MAN3PODS => {}; } |