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";