Blob Blame History Raw
diff --git a/Changes b/Changes
index 27f3bc3..aaebade 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,12 @@
 Revision history for Perl extension ExtUtils::CBuilder.
 
-0.282224 - 2015-10-09
+0.280225 - 2016-01-04
+
+  Fixed:
+
+  - New location of libperl on Win32 when building core (RT #126632)
+
+0.280224 - 2015-10-09
 
   Enhncements:
 
diff --git a/Makefile.PL b/Makefile.PL
index 820b294..44cb33a 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -29,7 +29,7 @@ my %WriteMakefileArgs = (
   "TEST_REQUIRES" => {
     "Test::More" => "0.47"
   },
-  "VERSION" => "0.280224",
+  "VERSION" => "0.280225",
   "test" => {
     "TESTS" => "t/*.t"
   }
diff --git a/lib/ExtUtils/CBuilder.pm b/lib/ExtUtils/CBuilder.pm
index abe976e..6ce0c68 100644
--- a/lib/ExtUtils/CBuilder.pm
+++ b/lib/ExtUtils/CBuilder.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder;
-$ExtUtils::CBuilder::VERSION = '0.280224';
+$ExtUtils::CBuilder::VERSION = '0.280225';
 use File::Spec ();
 use File::Path ();
 use File::Basename ();
diff --git a/lib/ExtUtils/CBuilder/Base.pm b/lib/ExtUtils/CBuilder/Base.pm
index eb4c175..60b2f43 100644
--- a/lib/ExtUtils/CBuilder/Base.pm
+++ b/lib/ExtUtils/CBuilder/Base.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Base;
-$ExtUtils::CBuilder::Base::VERSION = '0.280224';
+$ExtUtils::CBuilder::Base::VERSION = '0.280225';
 use strict;
 use warnings;
 use File::Spec;
diff --git a/lib/ExtUtils/CBuilder/Platform/Unix.pm b/lib/ExtUtils/CBuilder/Platform/Unix.pm
index d6c1768..399e254 100644
--- a/lib/ExtUtils/CBuilder/Platform/Unix.pm
+++ b/lib/ExtUtils/CBuilder/Platform/Unix.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::Unix;
-$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280225';
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Base;
diff --git a/lib/ExtUtils/CBuilder/Platform/VMS.pm b/lib/ExtUtils/CBuilder/Platform/VMS.pm
index 194d888..e9d9f6f 100644
--- a/lib/ExtUtils/CBuilder/Platform/VMS.pm
+++ b/lib/ExtUtils/CBuilder/Platform/VMS.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::VMS;
-$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280225';
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Base;
diff --git a/lib/ExtUtils/CBuilder/Platform/Windows.pm b/lib/ExtUtils/CBuilder/Platform/Windows.pm
index b95592d..80b8f29 100644
--- a/lib/ExtUtils/CBuilder/Platform/Windows.pm
+++ b/lib/ExtUtils/CBuilder/Platform/Windows.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::Windows;
-$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280225';
 use strict;
 use warnings;
 
@@ -151,7 +151,7 @@ sub link {
   # if running in perl source tree, look for libs there, not installed
   my $lddlflags = $cf->{lddlflags};
   my $perl_src = $self->perl_src();
-  $lddlflags =~ s/\Q$cf->{archlibexp}\E[\\\/]CORE/$perl_src/ if $perl_src;
+  $lddlflags =~ s/\Q$cf->{archlibexp}\E[\\\/]CORE/$perl_src\/lib\/CORE/ if $perl_src;
 
   my %spec = (
     srcdir        => $to,
diff --git a/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm b/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
index cd93b72..513c4ac 100644
--- a/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
+++ b/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::Windows::BCC;
-$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280225';
 use strict;
 use warnings;
 
diff --git a/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm b/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
index 5f219f2..19851df 100644
--- a/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
+++ b/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::Windows::GCC;
-$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280225';
 use warnings;
 use strict;
 
diff --git a/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm b/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
index f14988e..c8d675f 100644
--- a/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
+++ b/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::Windows::MSVC;
-$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280225';
 use warnings;
 use strict;
 
diff --git a/lib/ExtUtils/CBuilder/Platform/aix.pm b/lib/ExtUtils/CBuilder/Platform/aix.pm
index 949ef53..488d3e6 100644
--- a/lib/ExtUtils/CBuilder/Platform/aix.pm
+++ b/lib/ExtUtils/CBuilder/Platform/aix.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::aix;
-$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280225';
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
diff --git a/lib/ExtUtils/CBuilder/Platform/android.pm b/lib/ExtUtils/CBuilder/Platform/android.pm
index 5940922..b9e6af3 100644
--- a/lib/ExtUtils/CBuilder/Platform/android.pm
+++ b/lib/ExtUtils/CBuilder/Platform/android.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::android;
-$ExtUtils::CBuilder::Platform::android::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::android::VERSION = '0.280225';
 use warnings;
 use strict;
 use File::Spec;
diff --git a/lib/ExtUtils/CBuilder/Platform/cygwin.pm b/lib/ExtUtils/CBuilder/Platform/cygwin.pm
index c020e44..339840f 100644
--- a/lib/ExtUtils/CBuilder/Platform/cygwin.pm
+++ b/lib/ExtUtils/CBuilder/Platform/cygwin.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::cygwin;
-$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280225';
 use warnings;
 use strict;
 use File::Spec;
diff --git a/lib/ExtUtils/CBuilder/Platform/darwin.pm b/lib/ExtUtils/CBuilder/Platform/darwin.pm
index 324c268..04a87da 100644
--- a/lib/ExtUtils/CBuilder/Platform/darwin.pm
+++ b/lib/ExtUtils/CBuilder/Platform/darwin.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::darwin;
-$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280225';
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
diff --git a/lib/ExtUtils/CBuilder/Platform/dec_osf.pm b/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
index 0eb098f..d503e86 100644
--- a/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
+++ b/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::dec_osf;
-$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280225';
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
diff --git a/lib/ExtUtils/CBuilder/Platform/os2.pm b/lib/ExtUtils/CBuilder/Platform/os2.pm
index 19047b9..8d0e3eb 100644
--- a/lib/ExtUtils/CBuilder/Platform/os2.pm
+++ b/lib/ExtUtils/CBuilder/Platform/os2.pm
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::os2;
-$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280224';
+$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280225';
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
diff --git a/t/00-have-compiler.t b/t/00-have-compiler.t
index 1661812..1073277 100644
--- a/t/00-have-compiler.t
+++ b/t/00-have-compiler.t
@@ -26,14 +26,34 @@ ok( $b, "got CBuilder object" ) or diag $@;
 
 # test missing compiler
 {
-my $b1 = ExtUtils::CBuilder->new(quiet => 1);
-configure_fake_missing_compilers($b1);
-is( $b1->have_compiler, 0, "have_compiler: fake missing cc" );
+
+    my $b1 = ExtUtils::CBuilder->new(quiet => 1);
+
+    configure_fake_missing_compilers($b1);
+
+    # This will fork a child that will print
+    #    'Can't exec "djaadjfkadjkfajdf"'
+    # or similar on STDERR; so make sure fd2 is temporarily closed before
+    # the fork
+    open(my $orig_err, ">&", \*STDERR) or die "Can't dup STDERR: $!";
+    close(STDERR);
+    my $res = $b1->have_compiler;
+    open(STDERR, ">&", $orig_err) or die "Can't dup \$orig_err $!";
+    close($orig_err);
+
+    is($res, 0, "have_compiler: fake missing cc" );
 }
 {
-my $b2 = ExtUtils::CBuilder->new(quiet => 1);
-configure_fake_missing_compilers($b2);
-is( $b2->have_cplusplus, 0, "have_cplusplus: fake missing c++" );
+    my $b2 = ExtUtils::CBuilder->new(quiet => 1);
+    configure_fake_missing_compilers($b2);
+
+    open(my $orig_err, ">&", \*STDERR) or die "Can't dup STDERR: $!";
+    close(STDERR);
+    my $res = $b2->have_cplusplus;
+    open(STDERR, ">&", $orig_err) or die "Can't dup \$orig_err $!";
+    close($orig_err);
+
+    is($res, 0, "have_cplusplus: fake missing c++" );
 }
 
 # test found compiler
diff --git a/t/02-link.t b/t/02-link.t
index 31ee918..0c64619 100644
--- a/t/02-link.t
+++ b/t/02-link.t
@@ -19,8 +19,8 @@ my ($source_file, $object_file, $exe_file);
 my $b = ExtUtils::CBuilder->new(quiet => $quiet);
 
 # test plan
-if ($^O eq 'MSWin32') {
-  plan skip_all => "link_executable() is not implemented yet on Win32";
+if ($^O =~ / ^ ( MSWin32 | os390 ) $ /xi) {
+  plan skip_all => "link_executable() is not implemented yet on $^O";
 }
 elsif ( ! $b->have_compiler ) {
   plan skip_all => "no compiler available for testing";