In perl.git, the branch maint-5.10 has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/9832b3e868e85d18433db3770db6eac343f87e63?hp=0d8b5309784f490d7ae813aceed2b1fdbbfaa7a3>

- Log -----------------------------------------------------------------
commit 9832b3e868e85d18433db3770db6eac343f87e63
Author: David Mitchell <[email protected]>
Date:   Sun Jun 28 00:57:45 2009 +0100

    upgrade to ExtUtils::CBuilder 0.25
    
    (cherry picked from commit 673223b5b27396bd3627d91146cf8611c03c304d)

M       Porting/Maintainers.pl
M       lib/ExtUtils/CBuilder.pm
M       lib/ExtUtils/CBuilder/Base.pm
M       lib/ExtUtils/CBuilder/Changes
M       lib/ExtUtils/CBuilder/Platform/Unix.pm
M       lib/ExtUtils/CBuilder/Platform/VMS.pm
M       lib/ExtUtils/CBuilder/Platform/Windows.pm
M       lib/ExtUtils/CBuilder/Platform/aix.pm
M       lib/ExtUtils/CBuilder/Platform/cygwin.pm
M       lib/ExtUtils/CBuilder/Platform/darwin.pm
M       lib/ExtUtils/CBuilder/Platform/dec_osf.pm
M       lib/ExtUtils/CBuilder/Platform/os2.pm
M       lib/ExtUtils/CBuilder/t/02-link.t

commit 0c33e38711037b9c483d451e9003c7879291dc3b
Author: David Mitchell <[email protected]>
Date:   Sun Jun 28 00:04:09 2009 +0100

    upgrade to Time::Piece 1.15
    
    (cherry picked from commit 6653081c26e47ff513afff9907ee295b58e4ccd8)

M       Porting/Maintainers.pl
M       ext/Time-Piece/Changes
M       ext/Time-Piece/Piece.pm

commit 3d8a28112a518c2fcc325000e4eeb69047bd3939
Author: Steve Hay <[email protected]>
Date:   Tue May 12 18:02:15 2009 +0100

    Skip test for changing TZ if running in a pseudo-fork (on Win32)
    
    Changing $ENV{TZ} and calling tzset() is documented not to work on Win32
    in any thread other than the main thread, which includes the emulated
    fork() on Win32 (used by cpantesters?). Mention fork() in the caveats and
    skip the test in this case.
    
    (cherry picked from commit 8177d4d97c5035e1ca045371b1be47a2ef66ec1d)

M       ext/Time-Piece/Piece.pm
M       ext/Time-Piece/t/02core.t

commit 805bfd4594b009b6725de7d8a60f08fcee345c18
Author: David Mitchell <[email protected]>
Date:   Sat Jun 27 20:51:20 2009 +0100

    bump Dynaloader to 1.10 to distinguish it from the 5.8.9 release
    
    (cherry picked from commit 4e390bd81a04c93af4486d2d05c5ca2b02e5ed0c)

M       ext/DynaLoader/DynaLoader_pm.PL

commit 5767ea10f62c6be05813207a9c5030d809a9c25f
Author: David Mitchell <[email protected]>
Date:   Sat Jun 27 18:48:28 2009 +0100

    update Maintainers.pl
    
    (cherry picked from commit c51ff80d065257242d00af1b072f1e9492ccc8c7)

M       Porting/Maintainers.pl
-----------------------------------------------------------------------

Summary of changes:
 Porting/Maintainers.pl                    |   10 +++++-----
 ext/DynaLoader/DynaLoader_pm.PL           |    2 +-
 ext/Time-Piece/Changes                    |    4 ++++
 ext/Time-Piece/Piece.pm                   |    7 +++++--
 ext/Time-Piece/t/02core.t                 |    8 +++++++-
 lib/ExtUtils/CBuilder.pm                  |    2 +-
 lib/ExtUtils/CBuilder/Base.pm             |    2 +-
 lib/ExtUtils/CBuilder/Changes             |   20 ++++++++++++++++++++
 lib/ExtUtils/CBuilder/Platform/Unix.pm    |    7 +++++--
 lib/ExtUtils/CBuilder/Platform/VMS.pm     |    2 +-
 lib/ExtUtils/CBuilder/Platform/Windows.pm |   12 +++++++-----
 lib/ExtUtils/CBuilder/Platform/aix.pm     |    2 +-
 lib/ExtUtils/CBuilder/Platform/cygwin.pm  |    8 +++++---
 lib/ExtUtils/CBuilder/Platform/darwin.pm  |    2 +-
 lib/ExtUtils/CBuilder/Platform/dec_osf.pm |    2 +-
 lib/ExtUtils/CBuilder/Platform/os2.pm     |    2 +-
 lib/ExtUtils/CBuilder/t/02-link.t         |    7 +++++--
 17 files changed, 71 insertions(+), 28 deletions(-)

diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 28045a0..5aaf939 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -436,7 +436,7 @@ package Maintainers;
     'CPANPLUS' =>
        {
        'MAINTAINER'    => 'kane',
-       'DISTRIBUTION'  => 'KANE/CPANPLUS-0.87_02.tar.gz',
+       'DISTRIBUTION'  => 'KANE/CPANPLUS-0.87_03.tar.gz',
        'FILES'         => q[lib/CPANPLUS.pm
                             lib/CPANPLUS/Backend
                             lib/CPANPLUS/Backend.pm
@@ -600,7 +600,7 @@ package Maintainers;
     'ExtUtils::CBuilder' =>
        {
        'MAINTAINER'    => 'kwilliams',
-       'DISTRIBUTION'  => 'KWILLIAMS/ExtUtils-CBuilder-0.24.tar.gz',
+       'DISTRIBUTION'  => 'DAGOLDEN/ExtUtils-CBuilder-0.25.tar.gz',
        'FILES'         => q[lib/ExtUtils/CBuilder.pm lib/ExtUtils/CBuilder],
        'EXCLUDED'      => [ qw{bleadcheck.pl}, ],
        'CPAN'          => 1,
@@ -743,7 +743,7 @@ package Maintainers;
     'File::Fetch' =>
        {
        'MAINTAINER'    => 'kane',
-       'DISTRIBUTION'  => 'KANE/File-Fetch-0.18.tar.gz',
+       'DISTRIBUTION'  => 'KANE/File-Fetch-0.20.tar.gz',
        'FILES'         => q[lib/File/Fetch.pm lib/File/Fetch],
        'CPAN'          => 1,
        'UPSTREAM'      => 'cpan',
@@ -752,7 +752,7 @@ package Maintainers;
     'File::Path' =>
        {
        'MAINTAINER'    => 'dland',
-       'DISTRIBUTION'  => 'DLAND/File-Path-2.07.tar.gz',
+       'DISTRIBUTION'  => 'DLAND/File-Path-2.07_03.tar.gz',
        'FILES'         => q[lib/File/Path.pm lib/File/Path.t],
        'EXCLUDED'      => [ qw{eg/setup-extra-tests
                                t/pod.t
@@ -1914,7 +1914,7 @@ package Maintainers;
     'Time::Piece' =>
        {
        'MAINTAINER'    => 'msergeant',
-       'DISTRIBUTION'  => 'MSERGEANT/Time-Piece-1.14.tar.gz',
+       'DISTRIBUTION'  => 'MSERGEANT/Time-Piece-1.15.tar.gz',
        'FILES'         => q[ext/Time-Piece],
        'CPAN'          => 1,
        'UPSTREAM'      => undef,
diff --git a/ext/DynaLoader/DynaLoader_pm.PL b/ext/DynaLoader/DynaLoader_pm.PL
index 2b833e5..27ccd7d 100644
--- a/ext/DynaLoader/DynaLoader_pm.PL
+++ b/ext/DynaLoader/DynaLoader_pm.PL
@@ -85,7 +85,7 @@ package DynaLoader;
 # [email protected], August 1994
 
 BEGIN {
-    $VERSION = '1.09';
+    $VERSION = '1.10';
 }
 
 require AutoLoader;
diff --git a/ext/Time-Piece/Changes b/ext/Time-Piece/Changes
index d19d656..5eeb54b 100644
--- a/ext/Time-Piece/Changes
+++ b/ext/Time-Piece/Changes
@@ -1,6 +1,10 @@
 
 Time::Piece Changes
 
+1.15
+    - Skip a test on Win32 that there's just no way of passing
+    - Document the above failure
+
 1.14
        - rework add_months() to not rely on strptime being able to parse 
illegal
          dates (Gisle Aas).
diff --git a/ext/Time-Piece/Piece.pm b/ext/Time-Piece/Piece.pm
index abdf588..a42eb6a 100644
--- a/ext/Time-Piece/Piece.pm
+++ b/ext/Time-Piece/Piece.pm
@@ -1,4 +1,4 @@
-# $Id: Piece.pm 81 2009-05-09 02:31:43Z matt $
+# $Id: Piece.pm 82 2009-06-27 13:20:23Z matt $
 
 package Time::Piece;
 
@@ -22,7 +22,7 @@ our %EXPORT_TAGS = (
     ':override' => 'internal',
     );
 
-our $VERSION = '1.14';
+our $VERSION = '1.15';
 
 bootstrap Time::Piece $VERSION;
 
@@ -835,6 +835,9 @@ subsequently call that with the %Z formatting code. You 
must change $ENV{TZ}
 in the main thread to have the desired effect in this case (and you must
 also call _tzset() in the main thread to register the environment change).
 
+Furthermore, remember that this caveat also applies to fork(), which is
+emulated by threads on Win32.
+
 =head1 AUTHOR
 
 Matt Sergeant, [email protected]
diff --git a/ext/Time-Piece/t/02core.t b/ext/Time-Piece/t/02core.t
index 7ca22a9..5610bcb 100644
--- a/ext/Time-Piece/t/02core.t
+++ b/ext/Time-Piece/t/02core.t
@@ -47,7 +47,13 @@ cmp_ok($t->datetime, 'eq','2000-02-29T12:34:56');
 cmp_ok($t->daylight_savings, '==', 0);
 
 # ->tzoffset?
-{
+my $is_pseudo_fork = 0;
+if (defined &Win32::GetCurrentProcessId
+    ? $$ != Win32::GetCurrentProcessId() : $^O eq "MSWin32" && $$ < 0) {
+    $is_pseudo_fork = 1;
+}
+SKIP: {
+    skip "can't register TZ changes in a pseudo-fork", 2 if $is_pseudo_fork;
     local $ENV{TZ} = "EST5";
     Time::Piece::_tzset();  # register the environment change
     my $lt = localtime;
diff --git a/lib/ExtUtils/CBuilder.pm b/lib/ExtUtils/CBuilder.pm
index 87ac82d..b6ee7c0 100644
--- a/lib/ExtUtils/CBuilder.pm
+++ b/lib/ExtUtils/CBuilder.pm
@@ -5,7 +5,7 @@ use File::Path ();
 use File::Basename ();
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.24_01';
+$VERSION = '0.25';
 $VERSION = eval $VERSION;
 
 # Okay, this is the brute-force method of finding out what kind of
diff --git a/lib/ExtUtils/CBuilder/Base.pm b/lib/ExtUtils/CBuilder/Base.pm
index a4c03ee..ed58384 100644
--- a/lib/ExtUtils/CBuilder/Base.pm
+++ b/lib/ExtUtils/CBuilder/Base.pm
@@ -9,7 +9,7 @@ use Text::ParseWords;
 use IO::File;
 
 use vars qw($VERSION);
-$VERSION = '0.24';
+$VERSION = '0.25';
 
 sub new {
   my $class = shift;
diff --git a/lib/ExtUtils/CBuilder/Changes b/lib/ExtUtils/CBuilder/Changes
index 5285e51..e56a8a6 100644
--- a/lib/ExtUtils/CBuilder/Changes
+++ b/lib/ExtUtils/CBuilder/Changes
@@ -1,5 +1,25 @@
 Revision history for Perl extension ExtUtils::CBuilder.
 
+0.25 - Fri Jun 26 16:18:13 EDT 2009
+
+ - Slight diagnostic improvements in link.t
+
+0.24_01 - Sun Mar  8 14:50:10 2009
+
+ - On Windows, don't generate "mt" command when CRT is statically
+   linked. [Jan Dubois]
+
+ - On Cygwin, examine $Config{useshrplib} to see whether we're
+   supposed to be linking with a shared perl library or not. [Reini
+   Urban]
+
+ - In link_executable() on Cygwin, trust $Config{ld} rather than using
+   $Config{cc} for linking. [Reini Urban]
+
+ - Add 'haiku' as a Unix-like platform. [Ingo Weinhold]
+
+0.24 - Fri Aug 15 22:01:48 2008
+
  - Added 'gnu' and 'gnukfreebsd' as Unix variants. [Niko Tyni]
 
  - Brought in some VMS fixes from bleadperl: "Correct and complete
diff --git a/lib/ExtUtils/CBuilder/Platform/Unix.pm 
b/lib/ExtUtils/CBuilder/Platform/Unix.pm
index 9332c78..5671057 100644
--- a/lib/ExtUtils/CBuilder/Platform/Unix.pm
+++ b/lib/ExtUtils/CBuilder/Platform/Unix.pm
@@ -4,12 +4,15 @@ use strict;
 use ExtUtils::CBuilder::Base;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.24';
+$VERSION = '0.25';
 @ISA = qw(ExtUtils::CBuilder::Base);
 
 sub link_executable {
   my $self = shift;
-  # $Config{cc} is usually a better bet for linking executables than 
$Config{ld}
+
+  # On some platforms (which ones??) $Config{cc} seems to be a better
+  # bet for linking executables than $Config{ld}.  Cygwin is a notable
+  # exception.
   local $self->{config}{ld} =
     $self->{config}{cc} . " " . $self->{config}{ldflags};
   return $self->SUPER::link_executable(@_);
diff --git a/lib/ExtUtils/CBuilder/Platform/VMS.pm 
b/lib/ExtUtils/CBuilder/Platform/VMS.pm
index 168e318..740356a 100644
--- a/lib/ExtUtils/CBuilder/Platform/VMS.pm
+++ b/lib/ExtUtils/CBuilder/Platform/VMS.pm
@@ -4,7 +4,7 @@ use strict;
 use ExtUtils::CBuilder::Base;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.24';
+$VERSION = '0.25';
 @ISA = qw(ExtUtils::CBuilder::Base);
 
 use File::Spec::Functions qw(catfile catdir);
diff --git a/lib/ExtUtils/CBuilder/Platform/Windows.pm 
b/lib/ExtUtils/CBuilder/Platform/Windows.pm
index c23347f..db15838 100644
--- a/lib/ExtUtils/CBuilder/Platform/Windows.pm
+++ b/lib/ExtUtils/CBuilder/Platform/Windows.pm
@@ -10,7 +10,7 @@ use ExtUtils::CBuilder::Base;
 use IO::File;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.24';
+$VERSION = '0.25';
 @ISA = qw(ExtUtils::CBuilder::Base);
 
 sub new {
@@ -344,10 +344,12 @@ sub format_linker_cmd {
     $spec{output}           ,
   ) ];
 
-  # Embed the manifest file if it exists
-  push @cmds, [
-    'if', 'exist', $spec{manifest}, 'mt', '-nologo', $spec{manifest}, 
'-outputresource:' . "$output;2"
-  ];
+  # Embed the manifest file for VC 2005 (aka VC 8) or higher, but not for the 
64-bit Platform SDK compiler
+  if ($cf->{ivsize} == 4 && $cf->{cc} eq 'cl' and $cf->{ccversion} =~ /^(\d+)/ 
and $1 >= 14) {
+    push @cmds, [
+      'if', 'exist', $spec{manifest}, 'mt', '-nologo', $spec{manifest}, 
'-outputresource:' . "$output;2"
+    ];
+  }
 
   return @cmds;
 }
diff --git a/lib/ExtUtils/CBuilder/Platform/aix.pm 
b/lib/ExtUtils/CBuilder/Platform/aix.pm
index 9589e44..cb273e0 100644
--- a/lib/ExtUtils/CBuilder/Platform/aix.pm
+++ b/lib/ExtUtils/CBuilder/Platform/aix.pm
@@ -5,7 +5,7 @@ use ExtUtils::CBuilder::Platform::Unix;
 use File::Spec;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.24';
+$VERSION = '0.25';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub need_prelink { 1 }
diff --git a/lib/ExtUtils/CBuilder/Platform/cygwin.pm 
b/lib/ExtUtils/CBuilder/Platform/cygwin.pm
index b787ceb..ade91a2 100644
--- a/lib/ExtUtils/CBuilder/Platform/cygwin.pm
+++ b/lib/ExtUtils/CBuilder/Platform/cygwin.pm
@@ -5,20 +5,22 @@ use File::Spec;
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.24_01'; # Change 34200
+$VERSION = '0.25';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub link_executable {
   my $self = shift;
-  # $Config{ld} is okay. revert the stupid Unix cc=ld override
+  # $Config{ld} is okay. Circumvent the Unix ld=cc override in the superclass.
   local $self->{config}{cc} = $self->{config}{ld};
   return $self->SUPER::link_executable(@_);
 }
 
 sub link {
   my ($self, %args) = @_;
+
+  my $lib = $self->{config}{useshrplib} ? 'libperl.dll.a' : 'libperl.a';
   $args{extra_linker_flags} = [
-    $self->perl_inc().'/'.($self->{config}{useshrplib} ? 'libperl.dll.a' : 
'libperl.a'),
+    File::Spec->catfile($self->perl_inc(), $lib),
     $self->split_like_shell($args{extra_linker_flags})
   ];
 
diff --git a/lib/ExtUtils/CBuilder/Platform/darwin.pm 
b/lib/ExtUtils/CBuilder/Platform/darwin.pm
index ddb1af9..e4c5811 100644
--- a/lib/ExtUtils/CBuilder/Platform/darwin.pm
+++ b/lib/ExtUtils/CBuilder/Platform/darwin.pm
@@ -4,7 +4,7 @@ use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.24';
+$VERSION = '0.25';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub compile {
diff --git a/lib/ExtUtils/CBuilder/Platform/dec_osf.pm 
b/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
index b0a1f9a..ae92b2c 100644
--- a/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
+++ b/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
@@ -6,7 +6,7 @@ use File::Spec;
 
 use vars qw($VERSION @ISA);
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
-$VERSION = '0.24';
+$VERSION = '0.25';
 
 sub link_executable {
   my $self = shift;
diff --git a/lib/ExtUtils/CBuilder/Platform/os2.pm 
b/lib/ExtUtils/CBuilder/Platform/os2.pm
index b3dafcc..02d6780 100644
--- a/lib/ExtUtils/CBuilder/Platform/os2.pm
+++ b/lib/ExtUtils/CBuilder/Platform/os2.pm
@@ -4,7 +4,7 @@ use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.24';
+$VERSION = '0.25';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub need_prelink { 1 }
diff --git a/lib/ExtUtils/CBuilder/t/02-link.t 
b/lib/ExtUtils/CBuilder/t/02-link.t
index 30ecbe5..49b9274 100644
--- a/lib/ExtUtils/CBuilder/t/02-link.t
+++ b/lib/ExtUtils/CBuilder/t/02-link.t
@@ -49,7 +49,7 @@ ok $object_file = $b->compile(source => $source_file);
 # Link
 my ($exe_file, @temps);
 ($exe_file, @temps) = $b->link_executable(objects => $object_file);
-ok $exe_file;
+ok -e $exe_file;
 
 if ($^O eq 'os2') {            # Analogue of LDLOADPATH...
        # Actually, not needed now, since we do not link with the generated DLL
@@ -60,7 +60,10 @@ if ($^O eq 'os2') {          # Analogue of LDLOADPATH...
 }
 
 # Try the executable
-ok my_system($exe_file), 11;
+my $ec = my_system($exe_file);
+ok $ec, 11
+  or print( $? == -1 ? "# Could not run '$exe_file'\n" 
+                     : "# Unexpected exit code '$ec'\n");
 
 # Clean up
 for ($source_file, $object_file, $exe_file) {

--
Perl5 Master Repository

Reply via email to