In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/516aa7ad1e60c10d2f7fedc11b8bbfd2668f8455?hp=f73b203fbe2138ae0eac7c523450d08227309933>
- Log ----------------------------------------------------------------- commit 516aa7ad1e60c10d2f7fedc11b8bbfd2668f8455 Author: James E Keenan <[email protected]> Date: Sat Jul 15 12:47:07 2017 -0400 perldelta for c7ac81d9d79d22d7d1133b804e5f8dc4a641fe39 Signed-off-by: James E Keenan <[email protected]> M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm M pod/perldelta.pod commit a83beb4335050b314e601c8ec224be61aa0b5f02 Author: Alberto Simões <[email protected]> Date: Fri Jul 14 14:14:05 2017 +0100 Update to ExtUtils::CBuilder 0.280226 File::Basename::fileparse(), when called with two arguments, is documented to return a list of three elements: The non-suffix part of the file's basename. The file's dirname, plus trailing path separator. The suffix part of the file's basename. Thus, my ($name,$path,$suffix) = fileparse('/tmp/perl/p5p/foo.patch', qr/\.[^.]*/); returns: $name: foo $path: /tmp/perl/p5p/ $suffix: .patch If we want to take those values and compose a path with File::Spec->catfile(), we have to bear in mind that File::Spec generally expects to have directories precede filenames in its arguments. Thus, the correct way to use the values returned by fileparse() would be: my $cf = File::Spec->catfile($path, $name . $suffix); In ExtUtils::CBuilder::Base::new(), however, the return values from fileparse() were named in a way that suggested that the first value would be the dirname and the second would be the non-suffix part of the basename: my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/); $ccpath -- which here is really a basename -- was then used as the first argument to catfile(): File::Spec->catfile( $ccpath, $cxx, $ccsfx ) In addition, in the above $ccsfx should not have been a separate argument. Rather, it should have been concatenated without a path separator to the second argument. For: RT # 131749. See also: https://github.com/Perl-Toolchain-Gang/ExtUtils-CBuilder/pull/6 (thanks to stphnlyd of Perl Toolchain Gang). Signed-off-by: James E Keenan <[email protected]> M dist/ExtUtils-CBuilder/Changes M dist/ExtUtils-CBuilder/LICENSE M dist/ExtUtils-CBuilder/Makefile.PL M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm M dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm ----------------------------------------------------------------------- Summary of changes: dist/ExtUtils-CBuilder/Changes | 9 ++++++++- dist/ExtUtils-CBuilder/LICENSE | 6 +++--- dist/ExtUtils-CBuilder/Makefile.PL | 6 +++--- dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm | 2 +- .../lib/ExtUtils/CBuilder/Base.pm | 22 ++++++++++++++++------ .../lib/ExtUtils/CBuilder/Platform/Unix.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/VMS.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/Windows.pm | 4 ++-- .../lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/aix.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/android.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/cygwin.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/darwin.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/dec_osf.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/os2.pm | 2 +- pod/perldelta.pod | 4 ++++ 18 files changed, 48 insertions(+), 27 deletions(-) diff --git a/dist/ExtUtils-CBuilder/Changes b/dist/ExtUtils-CBuilder/Changes index aaebade13b..630309a3f8 100644 --- a/dist/ExtUtils-CBuilder/Changes +++ b/dist/ExtUtils-CBuilder/Changes @@ -1,5 +1,12 @@ Revision history for Perl extension ExtUtils::CBuilder. +0.280226 - 2017-07-14 + + Fixed: + + - Fix C++ compiler detection (RT #131749) + (thanks to stphnlyd) + 0.280225 - 2016-01-04 Fixed: @@ -8,7 +15,7 @@ Revision history for Perl extension ExtUtils::CBuilder. 0.280224 - 2015-10-09 - Enhncements: + Enhancements: - Use warnings/strict on all modules. diff --git a/dist/ExtUtils-CBuilder/LICENSE b/dist/ExtUtils-CBuilder/LICENSE index 97b386c5f2..6171f8bbe8 100644 --- a/dist/ExtUtils-CBuilder/LICENSE +++ b/dist/ExtUtils-CBuilder/LICENSE @@ -1,4 +1,4 @@ -This software is copyright (c) 2015 by Ken Williams. +This software is copyright (c) 2017 by Ken Williams. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. @@ -12,7 +12,7 @@ b) the "Artistic License" --- The GNU General Public License, Version 1, February 1989 --- -This software is Copyright (c) 2015 by Ken Williams. +This software is Copyright (c) 2017 by Ken Williams. This is free software, licensed under: @@ -272,7 +272,7 @@ That's all there is to it! --- The Artistic License 1.0 --- -This software is Copyright (c) 2015 by Ken Williams. +This software is Copyright (c) 2017 by Ken Williams. This is free software, licensed under: diff --git a/dist/ExtUtils-CBuilder/Makefile.PL b/dist/ExtUtils-CBuilder/Makefile.PL index 44cb33ad44..c599fcd29f 100644 --- a/dist/ExtUtils-CBuilder/Makefile.PL +++ b/dist/ExtUtils-CBuilder/Makefile.PL @@ -1,4 +1,4 @@ -# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.039. +# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.010. use strict; use warnings; @@ -29,7 +29,7 @@ my %WriteMakefileArgs = ( "TEST_REQUIRES" => { "Test::More" => "0.47" }, - "VERSION" => "0.280225", + "VERSION" => "0.280226", "test" => { "TESTS" => "t/*.t" } @@ -60,6 +60,6 @@ delete $WriteMakefileArgs{CONFIGURE_REQUIRES} unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; $WriteMakefileArgs{INSTALLDIRS} = 'perl' - if $] >= 5.009003 && $] <= 5.011000; + if "$]" >= 5.009003 && "$]" <= 5.011000; WriteMakefile(%WriteMakefileArgs); diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm index 6ce0c68794..99ee1fbd1f 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder; -$ExtUtils::CBuilder::VERSION = '0.280225'; +$ExtUtils::CBuilder::VERSION = '0.280226'; use File::Spec (); use File::Path (); use File::Basename (); diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm index 60b2f432df..77cecc52dd 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Base; -$ExtUtils::CBuilder::Base::VERSION = '0.280225'; +$ExtUtils::CBuilder::Base::VERSION = '0.280226'; use strict; use warnings; use File::Spec; @@ -45,16 +45,26 @@ sub new { if defined $ENV{LDFLAGS}; unless ( exists $self->{config}{cxx} ) { - my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/); + + my ($ccbase, $ccpath, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/); + + ## If the path is just "cc", fileparse returns $ccpath as "./" + $ccpath = "" if $self->{config}{cc} =~ /^$ccbase$ccsfx$/; + foreach my $cxx (@{$cc2cxx{$ccbase}}) { - if( can_run( File::Spec->catfile( $ccpath, $cxx, $ccsfx ) ) ) { - $self->{config}{cxx} = File::Spec->catfile( $ccpath, $cxx, $ccsfx ); + my $cxx1 = File::Spec->catfile( $ccpath, $cxx . $ccsfx); + + if( can_run( $cxx1 ) ) { + $self->{config}{cxx} = $cxx1; last; } - if( can_run( File::Spec->catfile( $cxx, $ccsfx ) ) ) { - $self->{config}{cxx} = File::Spec->catfile( $cxx, $ccsfx ); + my $cxx2 = $cxx . $ccsfx; + + if( can_run( $cxx2 ) ) { + $self->{config}{cxx} = $cxx2; last; } + if( can_run( $cxx ) ) { $self->{config}{cxx} = $cxx; last; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm index 399e254aa0..1e75806da6 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::Unix; -$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280226'; use warnings; use strict; use ExtUtils::CBuilder::Base; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm index e9d9f6fc2f..4c62d6da63 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::VMS; -$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280226'; use warnings; use strict; use ExtUtils::CBuilder::Base; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm index 80b8f29cd2..2ff44b674e 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::Windows; -$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280226'; 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\/lib\/CORE/ if $perl_src; + $lddlflags =~ s{\Q$cf->{archlibexp}\E[\\/]CORE}{$perl_src`/lib/CORE} if $perl_src; my %spec = ( srcdir => $to, diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm index 513c4acaee..fb64717cba 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::Windows::BCC; -$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280226'; use strict; use warnings; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm index 19851df352..4e7123cd16 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::Windows::GCC; -$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280226'; use warnings; use strict; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm index c8d675f497..0cf215919a 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::Windows::MSVC; -$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280226'; use warnings; use strict; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm index 488d3e68bc..150b196f63 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::aix; -$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280226'; use warnings; use strict; use ExtUtils::CBuilder::Platform::Unix; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm index b9e6af3129..e2d86775a2 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::android; -$ExtUtils::CBuilder::Platform::android::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::android::VERSION = '0.280226'; use warnings; use strict; use File::Spec; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm index 339840f8c1..bd9d0d8917 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::cygwin; -$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280226'; use warnings; use strict; use File::Spec; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm index 04a87da331..e360f0414d 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::darwin; -$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280226'; use warnings; use strict; use ExtUtils::CBuilder::Platform::Unix; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm index d503e8614b..d4e7f0fe53 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::dec_osf; -$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280226'; use warnings; use strict; use ExtUtils::CBuilder::Platform::Unix; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm index 8d0e3eb0dc..61e33428f0 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::os2; -$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280225'; +$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280226'; use warnings; use strict; use ExtUtils::CBuilder::Platform::Unix; diff --git a/pod/perldelta.pod b/pod/perldelta.pod index b298485c8a..0fee558583 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -126,6 +126,10 @@ XXX L<XXX> has been upgraded from version A.xx to B.yy. +=item * + +L<ExtUtils::CBuilder> has been upgraded from version 0.280225 to 0.280226. + =back =head2 Removed Modules and Pragmata -- Perl5 Master Repository
