summaryrefslogtreecommitdiff
path: root/cpan/ExtUtils-MakeMaker
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2019-06-02 09:41:35 +0100
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2019-06-02 09:41:35 +0100
commit3000ebb8835feceffa00b8081072ed74a39db7e3 (patch)
treeb9c4cb3c392fdd0ec5d53596b3608b3a2f4008d1 /cpan/ExtUtils-MakeMaker
parentc8b94fe0369af7071d2cfe1221aeb0b9f6c4d284 (diff)
downloadperl-3000ebb8835feceffa00b8081072ed74a39db7e3.tar.gz
Update ExtUtils-MakeMaker to CPAN version 7.36
[DELTA] 7.36 Sun Apr 28 16:28:20 BST 2019 No changes since v7.35_14 This release was made possible by the kind sponsors of the 2019 Perl Toolchain Summit held in Marlow, UK: Booking.com, cPanel, MaxMind, FastMail, ZipRecruiter, Cogendo, Elastic, OpenCage Data, Bluehost, Perl Services, Zoopla, Archer Education, OpusVL, Oetiker+Partner, YEF 7.35_14 Sun Apr 28 14:12:22 BST 2019 Win32 fixes: - Add ExtUtils::PL2Bat path to pl2bat when PERL_CORE 7.35_13 Sun Apr 28 11:57:57 BST 2019 Bug fixes: - Suppress warnings from EUMM::Locale code page workaround 7.35_12 Sat Apr 27 22:37:26 BST 2019 Enhancements: - add AppVeyor CI configuration see <https://github.com/rivy/CI.AppVeyor.helpers-perl> for more information Bug fixes: - Resolve RTs 127028 && 127316 on Mojave system perl - Honour man page disablement under INSTALL_BASE - fix `dmake` warning by removing dmake-superfluous ".NOTPARALLEL" target - suppress inherited AUTOLOAD warning for 'Win32::ConsoleCP()' - fix perl image (aka, executable) quoting for `dmake` builds - skip broken test for Win32 strawberry perl v5.10 (and some earlier versions) - add workaround to ExtUtils::MakeMaker::Locale for code pages 'cp65000' and 'cp65001' 7.35_11 Thu Apr 25 11:53:59 BST 2019 Bug fixes: - Fix RT#128004 gcc AIX builds broken 7.35_10 Wed Feb 20 10:03:50 GMT 2019 Test fixes: - Skip "merged /usr" tests on MSWin32 7.35_09 Mon Feb 18 10:05:42 GMT 2019 Bug fixes: - stringify version before comparing Test fixes: - Changed wording of skip message for xsstatic QA fixes: - travis is deprecating container-based environments 7.35_08 Thu Dec 6 10:22:02 GMT 2018 Enhancements: - propagate all variables used by Buildroot to subdirs 7.35_07 Fri Nov 23 11:34:27 GMT 2018 Bug fixes: - Avoid mangling /bin non-perl shebangs on merged-/usr systems VMS fixes: - Handle PERL_ARCHLIBDEP and DESTINSTALL... macros on VMS. - Remove trailing space from multi-in.PL in PL_FILES.t - Skip "merged /usr" tests on VMS. 7.35_06 Thu Jul 19 20:30:55 BST 2018 Enhancements: - Override shebang with PERL_MM_SHEBANG=relocatable env var Bug fixes: - Refactored Liblist::Kid tests, enabling UNIX testing 7.35_05 Tue Jul 10 09:44:25 BST 2018 Win32 fixes: - add Visual C parallel building support 7.35_04 Mon Jul 9 10:21:59 BST 2018 Bug fixes: - Fix manification on MSWin32 Doc fixes: - Mention manifypods target in FAQ for man creation on non-un*x OS 7.35_03 Fri Apr 27 14:28:21 BST 2018 Enhancements: - Allow specifying extra inputs for PL_FILES scripts 7.35_02 Tue Apr 24 11:38:39 BST 2018 Core fixes: - Win32 fixes for gmake 4.2.1 in quoting literals 7.35_01 Thu Apr 19 13:17:35 BST 2018 Core fixes: - use tr instead of eval on $VERSION - Fix PUREPERL_ONLY warnings
Diffstat (limited to 'cpan/ExtUtils-MakeMaker')
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm11
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm8
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm12
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm6
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm6
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm6
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm124
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm9
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm20
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm30
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod7
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm16
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm6
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm6
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm6
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm4
-rw-r--r--cpan/ExtUtils-MakeMaker/t/03-xsstatic.t2
-rw-r--r--cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t2
-rw-r--r--cpan/ExtUtils-MakeMaker/t/PL_FILES.t20
-rw-r--r--cpan/ExtUtils-MakeMaker/t/basic.t8
-rw-r--r--cpan/ExtUtils-MakeMaker/t/fixin.t34
-rw-r--r--cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm3
-rw-r--r--cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/t/parse_version.t6
-rw-r--r--cpan/ExtUtils-MakeMaker/t/unicode.t4
-rw-r--r--cpan/ExtUtils-MakeMaker/t/vstrings.t2
42 files changed, 300 insertions, 124 deletions
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm
index 4924c81fbe..52c47d2ccf 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm
@@ -7,8 +7,8 @@ use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
@ISA = qw(Exporter);
@EXPORT = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod
dos2unix);
-$VERSION = '7.34';
-$VERSION = eval $VERSION;
+$VERSION = '7.36';
+$VERSION =~ tr/_//d;
my $Is_VMS = $^O eq 'VMS';
my $Is_VMS_mode = $Is_VMS;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
index 0323ed40fa..4e07ea5e59 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
@@ -10,8 +10,8 @@ our @ISA = qw(Exporter);
our @EXPORT = qw(test_harness pod2man perllocal_install uninstall
warn_if_old_packlist test_s cp_nonempty);
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
my $Is_VMS = $^O eq 'VMS';
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
index 700cb7347a..44c4c399ff 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
@@ -2,8 +2,8 @@ package ExtUtils::Liblist;
use strict;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
use File::Spec;
require ExtUtils::Liblist::Kid;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
index a6da855862..d6565422d0 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
@@ -11,8 +11,8 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
use ExtUtils::MakeMaker::Config;
use Cwd 'cwd';
@@ -49,8 +49,10 @@ sub _unix_os2_ext {
# $potential_libs
# this is a rewrite of Andy Dougherty's extliblist in perl
+ require Text::ParseWords;
+
my ( @searchpath ); # from "-L/path" entries in $potential_libs
- my ( @libpath ) = split " ", $Config{'libpth'} || '';
+ my ( @libpath ) = Text::ParseWords::quotewords( '\s+', 0, $Config{'libpth'} || '' );
my ( @ldloadlibs, @bsloadlibs, @extralibs, @ld_run_path, %ld_run_path_seen );
my ( @libs, %libs_seen );
my ( $fullname, @fullname );
@@ -63,7 +65,7 @@ sub _unix_os2_ext {
$potential_libs =~ s/(^|\s)(-F)\s*(\S+)/$1-Wl,$2 -Wl,$3/g;
}
- foreach my $thislib ( split ' ', $potential_libs ) {
+ foreach my $thislib ( Text::ParseWords::quotewords( '\s+', 0, $potential_libs) ) {
my ( $custom_name ) = '';
# Handle possible linker path arguments.
@@ -88,6 +90,7 @@ sub _unix_os2_ext {
$thislib = $self->catdir( $pwd, $thislib );
}
push( @searchpath, $thislib );
+ $thislib = qq{"$thislib"} if $thislib =~ / /; # protect spaces if there
push( @extralibs, "$ptype$thislib" );
push( @ldloadlibs, "$rtype$thislib" );
next;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
index b2c360bca3..340ff2da3d 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
@@ -3,8 +3,8 @@ package ExtUtils::MM;
use strict;
use ExtUtils::MakeMaker::Config;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
require ExtUtils::Liblist;
require ExtUtils::MakeMaker;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
index b114ee49d3..c771b9b2b1 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
@@ -1,8 +1,8 @@
package ExtUtils::MM_AIX;
use strict;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
use ExtUtils::MakeMaker::Config;
require ExtUtils::MM_Unix;
@@ -50,7 +50,9 @@ sub xs_dlsyms_ext {
sub xs_dlsyms_arg {
my($self, $file) = @_;
- return qq{-bE:${file}};
+ my $arg = qq{-bE:${file}};
+ $arg = '-Wl,'.$arg if $Config{lddlflags} =~ /-Wl,-bE:/;
+ return $arg;
}
sub init_others {
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
index 1a3893c30b..6d459bbeaf 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
@@ -1,8 +1,8 @@
package ExtUtils::MM_Any;
use strict;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
use Carp;
use File::Spec;
@@ -195,7 +195,7 @@ sub can_redirect_error {
my $is_dmake = $self->is_make_type('dmake');
-Returns true if C<<$self->make>> is the given type; possibilities are:
+Returns true if C<< $self->make >> is the given type; possibilities are:
gmake GNU make
dmake
@@ -1090,7 +1090,7 @@ END
my @man_cmds;
foreach my $section (qw(1 3)) {
my $pods = $self->{"MAN${section}PODS"};
- my $p2m = sprintf <<'CMD', $section, $] > 5.008 ? " -u" : "";
+ my $p2m = sprintf <<'CMD', $section, "$]" > 5.008 ? " -u" : "";
$(NOECHO) $(POD2MAN) --section=%s --perm_rw=$(PERM_RW)%s
CMD
push @man_cmds, $self->split_command($p2m, map {($_,$pods->{$_})} sort keys %$pods);
@@ -2214,7 +2214,9 @@ sub init_INSTALL_from_INSTALL_BASE {
my $key = "INSTALL".$dir.$uc_thing;
$install{$key} ||=
- $self->catdir('$(INSTALL_BASE)', @{$map{$thing}});
+ ($thing =~ /^man.dir$/ and not $Config{lc $key})
+ ? 'none'
+ : $self->catdir('$(INSTALL_BASE)', @{$map{$thing}});
}
}
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
index 6fb7911390..4b72d4dd8f 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
@@ -26,8 +26,8 @@ require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
=item os_flavor
@@ -58,6 +58,8 @@ sub init_linker {
=back
+=cut
+
1;
__END__
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
index 934e65f913..f1ca8f2cbb 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
@@ -9,8 +9,8 @@ require ExtUtils::MM_Unix;
require ExtUtils::MM_Win32;
our @ISA = qw( ExtUtils::MM_Unix );
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
=head1 NAME
@@ -86,7 +86,7 @@ sub init_linker {
if ($Config{useshrplib} eq 'true') {
my $libperl = '$(PERL_INC)' .'/'. "$Config{libperl}";
- if( $] >= 5.006002 ) {
+ if( "$]" >= 5.006002 ) {
$libperl =~ s/(dll\.)?a$/dll.a/;
}
$self->{PERL_ARCHIVE} = $libperl;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
index 33a8b199df..1cff5729eb 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
@@ -2,8 +2,8 @@ package ExtUtils::MM_DOS;
use strict;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
index f5359dca09..3f01443cc5 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
@@ -7,8 +7,8 @@ BEGIN {
our @ISA = qw( ExtUtils::MM_Unix );
}
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
=head1 NAME
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
index 5646ae3340..0029b87f15 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
@@ -2,8 +2,8 @@ package ExtUtils::MM_MacOS;
use strict;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
sub new {
die 'MacOS Classic (MacPerl) is no longer supported by MakeMaker';
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
index c88c4fabe9..038c22f98f 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
@@ -22,8 +22,8 @@ use strict;
use ExtUtils::MakeMaker::Config;
use File::Basename;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
@@ -192,7 +192,7 @@ MAKE_FRAG
}
# Reconstruct the X.Y.Z version.
my $version = join '.', map { sprintf "%d", $_ }
- $] =~ /(\d)\.(\d{3})(\d{2})/;
+ "$]" =~ /(\d)\.(\d{3})(\d{2})/;
push @m, sprintf <<'EOF', $from, $version, $to, $exportlist;
$(LD) $(LDFLAGS) %s -desc "Perl %s Extension ($(BASEEXT)) XS_VERSION: $(XS_VERSION)" -nlmversion $(NLM_VERSION) -o %s $(MYEXTLIB) $(PERL_INC)\Main.lib -commandfile %s
$(CHMOD) 755 $@
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
index dfa6dca491..e212cb876b 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
@@ -5,8 +5,8 @@ use strict;
use ExtUtils::MakeMaker qw(neatvalue);
use File::Spec;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
index 362d7d920f..813de3b14a 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
@@ -1,8 +1,8 @@
package ExtUtils::MM_QNX;
use strict;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
index cc95c415e8..d531422197 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
@@ -1,8 +1,8 @@
package ExtUtils::MM_UWIN;
use strict;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index fe53be12ef..a0a2ee102f 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -14,8 +14,8 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue _sprintf562);
# If we make $VERSION an our variable parse_version() breaks
use vars qw($VERSION);
-$VERSION = '7.34';
-$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
+$VERSION = '7.36';
+$VERSION =~ tr/_//d;
require ExtUtils::MM_Any;
our @ISA = qw(ExtUtils::MM_Any);
@@ -37,6 +37,10 @@ BEGIN {
grep( $^O eq $_, qw(bsdos interix dragonfly) )
);
$Is{Android} = $^O =~ /android/;
+ if ( $^O eq 'darwin' && $^X eq '/usr/bin/perl' ) {
+ my @osvers = split /\./, $Config{osvers};
+ $Is{ApplCor} = ( $osvers[0] >= 18 );
+ }
}
BEGIN {
@@ -54,7 +58,7 @@ ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
=head1 SYNOPSIS
-C<require ExtUtils::MM_Unix;>
+ require ExtUtils::MM_Unix;
=head1 DESCRIPTION
@@ -132,6 +136,10 @@ sub c_o {
my $command = '$(CCCMD)';
my $flags = '$(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE)';
+ if ( $Is{ApplCor} ) {
+ $flags =~ s/"-I(\$\(PERL_INC\))"/-iwithsysroot "$1"/;
+ }
+
if (my $cpp = $Config{cpprun}) {
my $cpp_cmd = $self->const_cccmd;
$cpp_cmd =~ s/^CCCMD\s*=\s*\$\(CC\)/$cpp/;
@@ -151,8 +159,11 @@ EOF
my @exts = qw(c cpp cxx cc);
push @exts, 'C' if !$Is{OS2} and !$Is{Win32} and !$Is{Dos}; #Case-specific
$m_o = $self->{XSMULTI} ? $self->xs_obj_opt('$*$(OBJ_EXT)') : '';
+ my $dbgout = $self->dbgoutflag;
for my $ext (@exts) {
- push @m, "\n.$ext\$(OBJ_EXT) :\n\t$command $flags \$*.$ext" . ( $m_o ? " $m_o" : '' ) . "\n";
+ push @m, "\n.$ext\$(OBJ_EXT) :\n\t$command $flags "
+ .($dbgout?"$dbgout ":'')
+ ."\$*.$ext" . ( $m_o ? " $m_o" : '' ) . "\n";
}
return join "", @m;
}
@@ -170,6 +181,16 @@ sub xs_obj_opt {
"-o $output_file";
}
+=item dbgoutflag
+
+Returns a CC flag that tells the CC to emit a separate debugging symbol file
+when compiling an object file.
+
+=cut
+
+sub dbgoutflag {
+ '';
+}
=item cflags (o)
@@ -461,12 +482,20 @@ MAN1PODS = ".$self->wraplist(sort keys %{$self->{MAN1PODS}})."
MAN3PODS = ".$self->wraplist(sort keys %{$self->{MAN3PODS}})."
";
+ push @m, q{
+SDKROOT := $(shell xcrun --show-sdk-path)
+PERL_SYSROOT = $(SDKROOT)
+} if $Is{ApplCor} && $self->{'PERL_INC'} =~ m!^/System/Library/Perl/!;
push @m, q{
# Where is the Config information that we are using/depend on
-CONFIGDEP = $(PERL_ARCHLIBDEP)$(DFSEP)Config.pm $(PERL_INCDEP)$(DFSEP)config.h
-} if -e $self->catfile( $self->{PERL_INC}, 'config.h' );
+CONFIGDEP = $(PERL_ARCHLIBDEP)$(DFSEP)Config.pm $(PERL_SYSROOT)$(PERL_INCDEP)$(DFSEP)config.h
+} if $Is{ApplCor};
+ push @m, q{
+# Where is the Config information that we are using/depend on
+CONFIGDEP = $(PERL_ARCHLIBDEP)$(DFSEP)Config.pm $(PERL_INCDEP)$(DFSEP)config.h
+} if -e $self->catfile( $self->{PERL_INC}, 'config.h' ) && !$Is{ApplCor};
push @m, qq{
# Where to build things
@@ -1090,7 +1119,6 @@ Finds the executables PERL and FULLPERL
sub find_perl {
my($self, $ver, $names, $dirs, $trace) = @_;
-
if ($trace >= 2){
print "Looking for perl $ver by these names:
@$names
@@ -1243,12 +1271,15 @@ sub _fixin_replace_shebang {
my ( $self, $file, $line ) = @_;
# Now figure out the interpreter name.
- my ( $cmd, $arg ) = split ' ', $line, 2;
- $cmd =~ s!^.*/!!;
+ my ( $origcmd, $arg ) = split ' ', $line, 2;
+ (my $cmd = $origcmd) =~ s!^.*/!!;
# Now look (in reverse) for interpreter in absolute PATH (unless perl).
my $interpreter;
- if ( $cmd =~ m{^perl(?:\z|[^a-z])} ) {
+ if ( defined $ENV{PERL_MM_SHEBANG} && $ENV{PERL_MM_SHEBANG} eq "relocatable" ) {
+ $interpreter = "/usr/bin/env perl";
+ }
+ elsif ( $cmd =~ m{^perl(?:\z|[^a-z])} ) {
if ( $Config{startperl} =~ m,^\#!.*/perl, ) {
$interpreter = $Config{startperl};
$interpreter =~ s,^\#!,,;
@@ -1270,6 +1301,24 @@ sub _fixin_replace_shebang {
$interpreter = $maybefile;
}
}
+
+ # If the shebang is absolute and exists in PATH, but was not
+ # the first one found, leave it alone if it's actually the
+ # same file as first one. This avoids packages built on
+ # merged-/usr systems with /usr/bin before /bin in the path
+ # breaking when installed on systems without merged /usr
+ if ($origcmd ne $interpreter and $self->file_name_is_absolute($origcmd)) {
+ my $origdir = dirname($origcmd);
+ if ($self->maybe_command($origcmd) && grep { $_ eq $origdir } @absdirs) {
+ my ($odev, $oino) = stat $origcmd;
+ my ($idev, $iino) = stat $interpreter;
+ if ($odev == $idev && $oino == $iino) {
+ warn "$origcmd is the same as $interpreter, leaving alone"
+ if $Verbose;
+ $interpreter = $origcmd;
+ }
+ }
+ }
}
# Figure out how to invoke interpreter on this machine.
@@ -2043,6 +2092,11 @@ sub init_PERL {
# already escaped spaces.
$self->{FULLPERL} =~ tr/"//d if $Is{VMS};
+ # `dmake` can fail for image (aka, executable) names which start with double-quotes
+ # * push quote inward by at least one character (or the drive prefix, if present)
+ # * including any initial directory separator preserves the `file_name_is_absolute` property
+ $self->{FULLPERL} =~ s/^"(\S(:\\|:)?)/$1"/ if $self->is_make_type('dmake');
+
# Little hack to get around VMS's find_perl putting "MCR" in front
# sometimes.
$self->{ABSPERL} = $self->{PERL};
@@ -2065,6 +2119,11 @@ sub init_PERL {
# already escaped spaces.
$self->{PERL} =~ tr/"//d if $Is{VMS};
+ # `dmake` can fail for image (aka, executable) names which start with double-quotes
+ # * push quote inward by at least one character (or the drive prefix, if present)
+ # * including any initial directory separator preserves the `file_name_is_absolute` property
+ $self->{PERL} =~ s/^"(\S(:\\|:)?)/$1"/ if $self->is_make_type('dmake');
+
# Are we building the core?
$self->{PERL_CORE} = $ENV{PERL_CORE} unless exists $self->{PERL_CORE};
$self->{PERL_CORE} = 0 unless defined $self->{PERL_CORE};
@@ -2872,7 +2931,7 @@ sub parse_abstract {
}
close $fh;
- if ( $pod_encoding and !( $] < 5.008 or !$Config{useperlio} ) ) {
+ if ( $pod_encoding and !( "$]" < 5.008 or !$Config{useperlio} ) ) {
# Have to wrap in an eval{} for when running under PERL_CORE
# Encode isn't available during build phase and parsing
# ABSTRACT isn't important there
@@ -2894,7 +2953,7 @@ It will return the string "undef" if it can't figure out what $VERSION
is. $VERSION should be for all to see, so C<our $VERSION> or plain $VERSION
are okay, but C<my $VERSION> is not.
-C<<package Foo VERSION>> is also checked for. The first version
+C<package Foo VERSION> is also checked for. The first version
declaration found is used, but this may change as it differs from how
Perl does it.
@@ -3151,7 +3210,7 @@ PPD_PERLVERS
}
my $archname = $Config{archname};
- if ($] >= 5.008) {
+ if ("$]" >= 5.008) {
# archname did not change from 5.6 to 5.8, but those versions may
# not be not binary compatible so now we append the part of the
# version that changes when binary compatibility may change
@@ -3268,9 +3327,11 @@ sub processPL {
my $m = '';
foreach my $plfile (sort keys %$pl_files) {
- my $list = ref($pl_files->{$plfile})
- ? $pl_files->{$plfile}
- : [$pl_files->{$plfile}];
+ my $targets = $pl_files->{$plfile};
+ my $list =
+ ref($targets) eq 'HASH' ? [ sort keys %$targets ] :
+ ref($targets) eq 'ARRAY' ? $pl_files->{$plfile} :
+ [$pl_files->{$plfile}];
foreach my $target (@$list) {
if( $Is{VMS} ) {
@@ -3294,13 +3355,27 @@ sub processPL {
$perlrun = 'PERLRUNINST';
}
+ my $extra_inputs = '';
+ if( ref($targets) eq 'HASH' ) {
+ my $inputs = ref($targets->{$target})
+ ? $targets->{$target}
+ : [$targets->{$target}];
+
+ for my $input (@$inputs) {
+ if( $Is{VMS} ) {
+ $input = vmsify($self->eliminate_macros($input));
+ }
+ $extra_inputs .= ' '.$input;
+ }
+ }
+
$m .= <<MAKE_FRAG;
pure_all :: $target
\$(NOECHO) \$(NOOP)
-$target :: $plfile $pm_dep
- \$($perlrun) $plfile $target
+$target :: $plfile $pm_dep $extra_inputs
+ \$($perlrun) $plfile $target $extra_inputs
MAKE_FRAG
}
@@ -3957,13 +4032,15 @@ sub xs_o {
my ($self) = @_;
return '' unless $self->needs_linking();
my $m_o = $self->{XSMULTI} ? $self->xs_obj_opt('$*$(OBJ_EXT)') : '';
+ my $dbgout = $self->dbgoutflag;
+ $dbgout = $dbgout ? "$dbgout " : '';
my $frag = '';
# dmake makes noise about ambiguous rule
- $frag .= sprintf <<'EOF', $m_o unless $self->is_make_type('dmake');
+ $frag .= sprintf <<'EOF', $dbgout, $m_o unless $self->is_make_type('dmake');
.xs$(OBJ_EXT) :
$(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc
$(MV) $*.xsc $*.c
- $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c %s
+ $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) %s$*.c %s
EOF
if ($self->{XSMULTI}) {
for my $ext ($self->_xs_list_basenames) {
@@ -3977,16 +4054,17 @@ EOF
$self->_xsbuild_replace_macro($cccmd, 'xs', $ext, 'INC');
my $define = '$(DEFINE)';
$self->_xsbuild_replace_macro($define, 'xs', $ext, 'DEFINE');
- # 1 2 3 4
- $frag .= _sprintf562 <<'EOF', $ext, $cccmd, $m_o, $define;
+ # 1 2 3 4 5
+ $frag .= _sprintf562 <<'EOF', $ext, $cccmd, $m_o, $define, $dbgout;
%1$s$(OBJ_EXT): %1$s.xs
$(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc
$(MV) $*.xsc $*.c
- %2$s $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) %4$s $*.c %3$s
+ %2$s $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) %4$s %5$s$*.c %3$s
EOF
}
}
+ $frag =~ s/"-I(\$\(PERL_INC\))"/-iwithsysroot "$1"/sg if $Is{ApplCor};
$frag;
}
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
index b6fbccfe34..24e5346263 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
@@ -15,8 +15,8 @@ BEGIN {
use File::Basename;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
@@ -587,9 +587,10 @@ sub constants {
# Cleanup paths for directories in MMS macros.
foreach my $macro ( qw [
INST_BIN INST_SCRIPT INST_LIB INST_ARCHLIB
- PERL_LIB PERL_ARCHLIB
+ PERL_LIB PERL_ARCHLIB PERL_ARCHLIBDEP
PERL_INC PERL_SRC ],
- (map { 'INSTALL'.$_ } $self->installvars)
+ (map { 'INSTALL'.$_ } $self->installvars),
+ (map { 'DESTINSTALL'.$_ } $self->installvars)
)
{
next unless defined $self->{$macro};
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
index 66c7ff7472..9f7c89a747 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
@@ -1,8 +1,8 @@
package ExtUtils::MM_VOS;
use strict;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
index 43c974d5b4..253b2ca6d8 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
@@ -27,8 +27,8 @@ use ExtUtils::MakeMaker qw(neatvalue _sprintf562);
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
$ENV{EMXSHELL} = 'sh'; # to run `commands`
@@ -77,7 +77,7 @@ Changes the path separator with .
sub replace_manpage_separator {
my($self,$man) = @_;
- $man =~ s,/+,.,g;
+ $man =~ s,[/\\]+,.,g;
$man;
}
@@ -143,7 +143,7 @@ sub init_tools {
$self->{DEV_NULL} ||= '> NUL';
$self->{FIXIN} ||= $self->{PERL_CORE} ?
- "\$(PERLRUN) $self->{PERL_SRC}\\win32\\bin\\pl2bat.pl" :
+ "\$(PERLRUN) -I$self->{PERL_SRC}\\cpan\\ExtUtils-PL2Bat\\lib $self->{PERL_SRC}\\win32\\bin\\pl2bat.pl" :
'pl2bat.bat';
$self->SUPER::init_tools;
@@ -506,7 +506,7 @@ sub quote_literal {
$text =~ s{\\\\"}{\\\\\\\\\\"}g; # \\" -> \\\\\"
$text =~ s{(?<!\\)\\"}{\\\\\\"}g; # \" -> \\\"
$text =~ s{(?<!\\)"}{\\"}g; # " -> \"
- $text = qq{"$text"} if $text =~ /[ \t]/;
+ $text = qq{"$text"} if $text =~ /[ \t#]/; # hash because gmake 4.2.1
# Apply the Command Prompt parsing rules (cmd.exe)
my @text = split /("[^"]*")/, $text;
@@ -595,6 +595,16 @@ sub os_flavor {
return('Win32');
}
+=item dbgoutflag
+
+Returns a CC flag that tells the CC to emit a separate debugging symbol file
+when compiling an object file.
+
+=cut
+
+sub dbgoutflag {
+ $MSVC ? '-Fd$(*).pdb' : '';
+}
=item cflags
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
index 85a80c638b..440c3a7f84 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
@@ -2,8 +2,8 @@ package ExtUtils::MM_Win95;
use strict;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
index a193f3a045..73f9e10893 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
@@ -3,8 +3,8 @@ package ExtUtils::MY;
use strict;
require ExtUtils::MM;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
our @ISA = qw(ExtUtils::MM);
{
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
index 90d9eac49c..90790d4d6d 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
@@ -24,8 +24,8 @@ my %Recognized_Att_Keys;
our %macro_fsentity; # whether a macro is a filesystem name
our %macro_dep; # whether a macro is a dependency
-our $VERSION = '7.34';
-$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
# Emulate something resembling CVS $Revision$
(our $Revision = $VERSION) =~ s{_}{};
@@ -316,7 +316,7 @@ sub full_setup {
PERLRUNINST PERL_CORE
PERM_DIR PERM_RW PERM_RWX MAGICXS
PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE
- PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
+ PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ PUREPERL_ONLY
SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST VERSION VERSION_FROM XS
XSBUILD XSMULTI XSOPT XSPROTOARG XS_VERSION
clean depend dist dynamic_lib linkext macro realclean tool_autosplit
@@ -398,7 +398,7 @@ sub full_setup {
);
# 5.5.3 doesn't have any concept of vendor libs
- push @Get_from_Config, qw( vendorarchexp vendorlibexp ) if $] >= 5.006;
+ push @Get_from_Config, qw( vendorarchexp vendorlibexp ) if "$]" >= 5.006;
foreach my $item (@attrib_help){
$Recognized_Att_Keys{$item} = 1;
@@ -534,7 +534,7 @@ sub new {
# simulate "use warnings FATAL => 'all'" for vintage perls
die @_;
};
- !$self->{MIN_PERL_VERSION} or $self->{MIN_PERL_VERSION} <= $]
+ !$self->{MIN_PERL_VERSION} or $self->{MIN_PERL_VERSION} <= "$]"
};
if (!$perl_version_ok) {
if (!defined $perl_version_ok) {
@@ -693,6 +693,7 @@ END
} else {
my $value = $self->{$key};
# not going to test in FS so only stripping start
+ $value =~ s/"// if $key =~ /PERL$/ and $self->is_make_type('dmake');
$value =~ s/^"// if $key =~ /PERL$/;
$value = $self->catdir("..", $value)
unless $self->file_name_is_absolute($value);
@@ -702,7 +703,8 @@ END
}
if ($self->{PARENT}) {
$self->{PARENT}->{CHILDREN}->{$newclass} = $self;
- foreach my $opt (qw(POLLUTE PERL_CORE LINKTYPE LD OPTIMIZE)) {
+ foreach my $opt (qw(POLLUTE PERL_CORE LINKTYPE AR FULL_AR CC CCFLAGS
+ OPTIMIZE LD LDDLFLAGS LDFLAGS PERL_ARCHLIB DESTDIR)) {
if (exists $self->{PARENT}->{$opt}
and not exists $self->{$opt})
{
@@ -1264,7 +1266,7 @@ sub write_file_via_tmp {
die "write_file_via_tmp: 2nd arg must be ref" unless ref $contents;
for my $chunk (@$contents) {
my $to_write = $chunk;
- utf8::encode $to_write if !$CAN_DECODE && $] > 5.008;
+ utf8::encode $to_write if !$CAN_DECODE && "$]" > 5.008;
print $fh "$to_write\n" or die "Can't write to MakeMaker.tmp: $!";
}
close $fh or die "Can't write to MakeMaker.tmp: $!";
@@ -2599,6 +2601,20 @@ In this case the program will be run multiple times using each target file.
perl bin/foobar.PL bin/foobar1
perl bin/foobar.PL bin/foobar2
+If an output file depends on extra input files beside the script itself,
+a hash ref can be used in version 7.36 and above:
+
+ PL_FILES => { 'foo.PL' => {
+ 'foo.out' => 'foo.in',
+ 'bar.out' => [qw(bar1.in bar2.in)],
+ }
+
+In this case the extra input files will be passed to the program after
+the target file:
+
+ perl foo.PL foo.out foo.in
+ perl foo.PL bar.out bar1.in bar2.in
+
PL files are normally run B<after> pm_to_blib and include INST_LIB and
INST_ARCH in their C<@INC>, so the just built modules can be
accessed... unless the PL file is making a module (or anything else in
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
index 0d4f8b1e61..f437a65e5d 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
@@ -2,8 +2,8 @@ package ExtUtils::MakeMaker::Config;
use strict;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
use Config ();
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
index 0ceb4f766e..a5449c2dcf 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
@@ -1,7 +1,7 @@
package ExtUtils::MakeMaker::FAQ;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
1;
__END__
@@ -84,7 +84,8 @@ installation.
=item How do I keep from installing man pages?
Recent versions of MakeMaker will only install man pages on Unix-like
-operating systems.
+operating systems by default. To generate manpages on non-Unix operating
+systems, make the "manifypods" target.
For an individual module:
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm
index 6d97df06f6..bf59fdc6e9 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm
@@ -1,8 +1,8 @@
package ExtUtils::MakeMaker::Locale;
use strict;
-our $VERSION = "7.34";
-$VERSION = eval $VERSION;
+our $VERSION = "7.36";
+$VERSION =~ tr/_//d;
use base 'Exporter';
our @EXPORT_OK = qw(
@@ -47,7 +47,10 @@ sub _init {
unless (defined &GetInputCP) {
eval {
require Win32;
- eval { Win32::GetConsoleCP() };
+ eval {
+ local $SIG{__WARN__} = sub {} if ( "$]" < 5.014 ); # suppress deprecation warning for inherited AUTOLOAD of Win32::GetConsoleCP()
+ Win32::GetConsoleCP();
+ };
# manually "import" it since Win32->import refuses
*GetInputCP = sub { &Win32::GetConsoleCP } if defined &Win32::GetConsoleCP;
*GetOutputCP = sub { &Win32::GetConsoleOutputCP } if defined &Win32::GetConsoleOutputCP;
@@ -96,6 +99,13 @@ sub _init {
$ENCODING_LOCALE ||= $ENCODING_CONSOLE_IN;
}
+ # Workaround of Encode < v2.71 for "cp65000" and "cp65001"
+ # The "cp65000" and "cp65001" aliases were added in [Encode v2.71](https://github.com/dankogai/p5-encode/commit/7874bd95aa10967a3b5dbae333d16bcd703ac6c6)
+ # via commit <https://github.com/dankogai/p5-encode/commit/84b9c1101d5251d37e226f80d1c6781718779047>.
+ # This will avoid test failures for Win32 machines using the UTF-7 or UTF-8 code pages.
+ $ENCODING_LOCALE = 'UTF-7' if $ENCODING_LOCALE && lc($ENCODING_LOCALE) eq "cp65000";
+ $ENCODING_LOCALE = 'utf-8-strict' if $ENCODING_LOCALE && lc($ENCODING_LOCALE) eq "cp65001";
+
if ($^O eq "darwin") {
$ENCODING_LOCALE_FS ||= "UTF-8";
}
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
index b49e444833..7c36252cc8 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
@@ -1,7 +1,7 @@
package ExtUtils::MakeMaker::Tutorial;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
=head1 NAME
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm
index c59be1eeee..b6d3550e30 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm
@@ -15,8 +15,8 @@ use strict;
use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
-$VERSION = '7.34';
-$VERSION = eval $VERSION;
+$VERSION = '7.36';
+$VERSION =~ tr/_//d;
$CLASS = 'version';
{
@@ -35,7 +35,7 @@ $CLASS = 'version';
*version::_VERSION = \&ExtUtils::MakeMaker::version::vpp::_VERSION;
*version::vcmp = \&ExtUtils::MakeMaker::version::vpp::vcmp;
*version::new = \&ExtUtils::MakeMaker::version::vpp::new;
- if ($] >= 5.009000) {
+ if ("$]" >= 5.009000) {
no strict 'refs';
*version::stringify = \&ExtUtils::MakeMaker::version::vpp::stringify;
*{'version::(""'} = \&ExtUtils::MakeMaker::version::vpp::stringify;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm
index f0eb14eacb..951a4c2397 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm
@@ -10,8 +10,8 @@ use strict;
use vars qw($VERSION $CLASS $STRICT $LAX);
-$VERSION = '7.34';
-$VERSION = eval $VERSION;
+$VERSION = '7.36';
+$VERSION =~ tr/_//d;
#--------------------------------------------------------------------------#
# Version regexp components
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
index 0d4c1a2090..ea5eae5787 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
@@ -3,8 +3,8 @@ package ExtUtils::Mkbootstrap;
# There's just too much Dynaloader incest here to turn on strict vars.
use strict 'refs';
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
require Exporter;
our @ISA = ('Exporter');
@@ -84,7 +84,7 @@ ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
=head1 SYNOPSIS
-C<Mkbootstrap>
+ Mkbootstrap
=head1 DESCRIPTION
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
index 0ec5f9dbdf..6e0b063f19 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
@@ -10,8 +10,8 @@ use Config;
our @ISA = qw(Exporter);
our @EXPORT = qw(&Mksymlists);
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
sub Mksymlists {
my(%spec) = @_;
@@ -148,7 +148,7 @@ sub _write_win32 {
# linked to directly from C. GSAR 97-07-10
#bcc dropped in 5.16, so dont create useless extra symbols for export table
- unless($] >= 5.016) {
+ unless("$]" >= 5.016) {
if ($Config::Config{'cc'} =~ /^bcc/i) {
push @syms, "_$_", "$_ = _$_"
for (@{$data->{DL_VARS}}, @{$data->{FUNCLIST}});
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
index 01b46ee45a..18a70c5e11 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
@@ -3,8 +3,8 @@ package ExtUtils::testlib;
use strict;
use warnings;
-our $VERSION = '7.34';
-$VERSION = eval $VERSION;
+our $VERSION = '7.36';
+$VERSION =~ tr/_//d;
use Cwd;
use File::Spec;
diff --git a/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t b/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t
index bfe3dc96c3..faf56e3339 100644
--- a/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t
+++ b/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t
@@ -20,7 +20,7 @@ plan skip_all => "ExtUtils::CBuilder not installed or couldn't find a compiler"
unless have_compiler();
plan skip_all => 'Shared perl library' if $Config{useshrplib} eq 'true';
plan skip_all => $^O if $^O =~ m!^(MSWin32|cygwin|haiku|darwin)$!;
-plan skip_all => 'Skipped when not PERL_CORE or in git repo' unless $ENV{PERL_CORE} or $release;
+plan skip_all => 'Skipped when not PERL_CORE nor in git repo' unless $ENV{PERL_CORE} or $release;
my @tests = list_static();
plan skip_all => "No tests" unless @tests;
plan tests => 6 * @tests;
diff --git a/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t b/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t
index 4e7336c1ed..a37cb62765 100644
--- a/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t
+++ b/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t
@@ -80,7 +80,7 @@ like( $res, qr/manifypods.*foo.*foo.1/s, '... should add MAN3PODS targets' );
# init_linker
{
my $libperl = $Config{libperl} || 'libperl.a';
- $libperl =~ s/\.a/.dll.a/ if $] >= 5.006002;
+ $libperl =~ s/\.a/.dll.a/ if "$]" >= 5.006002;
$libperl = "\$(PERL_INC)/$libperl";
my $export = '';
diff --git a/cpan/ExtUtils-MakeMaker/t/PL_FILES.t b/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
index 51aed5e5d0..7e627db543 100644
--- a/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
+++ b/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
@@ -13,7 +13,7 @@ use ExtUtils::MM;
use Test::More
!MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
? (skip_all => "cross-compiling and make not available")
- : (tests => 10);
+ : (tests => 12);
use File::Spec;
use File::Temp qw[tempdir];
use File::Path;
@@ -36,6 +36,8 @@ WriteMakefile(
NAME => 'PL::Module',
PL_FILES => { 'single.PL' => 'single.out',
'multi.PL' => [qw(1.out 2.out)],
+ 'single-in.PL' => { 'single-in.out' => 'single.in' },
+ 'multi-in.PL' => { 'multi-in.out' => [qw(1.in 2.in)] },
'Bar_pm.PL' => '$(INST_LIB)/PL/Bar.pm',
'Bar2.pm.PL' => 'Bar2.pm',
},
@@ -53,6 +55,11 @@ END
'multi.PL' => _gen_pl_files(),
'Bar_pm.PL' => _gen_pm_files(),
'Bar2.pm.PL' => _gen_pm_files(),
+ 'single-in.PL' => _gen_pm_files(1),
+ 'multi-in.PL' => _gen_pm_files(2),
+ 'single.in' => '',
+ '1.in' => '',
+ '2.in' => '',
'lib/PL/Foo.pm' => <<'END',
# Module to load to ensure PL_FILES have blib in @INC.
package PL::Foo;
@@ -76,7 +83,11 @@ cmp_ok( $?, '==', 0 );
my $make_out = run("$make");
is( $?, 0 ) || diag $make_out;
-foreach my $file (qw(single.out 1.out 2.out blib/lib/PL/Bar.pm blib/lib/PL/Bar2.pm)) {
+foreach my $file (qw(
+ single.out 1.out 2.out
+ single-in.out multi-in.out
+ blib/lib/PL/Bar.pm blib/lib/PL/Bar2.pm
+)) {
ok( -e $file, "$file was created" );
}
@@ -105,7 +116,8 @@ END
}
sub _gen_pm_files {
- my $test = <<'END';
+ my $inputs = (shift || 0) + 1;
+ my $test = sprintf <<'END', $inputs;
#!/usr/bin/perl -w
# Ensure we do NOT have blib in @INC when building a module
@@ -114,7 +126,7 @@ eval { require PL::Foo; };
# Had a bug where PL_FILES weren't sent the file to generate
die "argv empty\n" unless @ARGV;
-die "too many in argv: @ARGV\n" unless @ARGV == 1;
+die "wrong number in argv: @ARGV\n" unless @ARGV == %d;
my $file = $ARGV[0];
open OUT, ">$file" or die $!;
diff --git a/cpan/ExtUtils-MakeMaker/t/basic.t b/cpan/ExtUtils-MakeMaker/t/basic.t
index 534bf219f6..7c87c75212 100644
--- a/cpan/ExtUtils-MakeMaker/t/basic.t
+++ b/cpan/ExtUtils-MakeMaker/t/basic.t
@@ -35,7 +35,11 @@ my $Is_VMS = $^O eq 'VMS';
my $OLD_CP; # crude but...
my $w32worked; # or whether we had to fallback to chcp
if ($^O eq "MSWin32") {
- eval { require Win32; $w32worked = $OLD_CP = Win32::GetConsoleCP() };
+ eval {
+ require Win32;
+ local $SIG{__WARN__} = sub {} if ( "$]" < 5.014 ); # suppress deprecation warning for inherited AUTOLOAD of Win32::GetConsoleCP()
+ $w32worked = $OLD_CP = Win32::GetConsoleCP();
+ };
$OLD_CP = $1 if !$w32worked and qx(chcp) =~ /(\d+)$/ and $? == 0;
if (defined $OLD_CP) {
if ($w32worked) {
@@ -128,7 +132,7 @@ like( $ppd_html, qr{^\s*<REQUIRE NAME="strict::" />}m, ' <REQUIRE>' );
unlike( $ppd_html, qr{^\s*<REQUIRE NAME="warnings::" />}m, 'no <REQUIRE> for build_require' );
my $archname = $Config{archname};
-if( $] >= 5.008 ) {
+if( "$]" >= 5.008 ) {
# XXX This is a copy of the internal logic, so it's not a great test
$archname .= "-$Config{PERL_REVISION}.$Config{PERL_VERSION}";
}
diff --git a/cpan/ExtUtils-MakeMaker/t/fixin.t b/cpan/ExtUtils-MakeMaker/t/fixin.t
index 061e456247..6c6ada5619 100644
--- a/cpan/ExtUtils-MakeMaker/t/fixin.t
+++ b/cpan/ExtUtils-MakeMaker/t/fixin.t
@@ -9,7 +9,7 @@ BEGIN {
use File::Spec;
-use Test::More tests => 22;
+use Test::More tests => 30;
use Config;
use TieOut;
@@ -123,3 +123,35 @@ END
}
);
}
+
+SKIP: {
+ eval { chmod(0755, "usrbin/interp") }
+ or skip "no chmod", 8;
+ skip "Not relevant on VMS or MSWin32", 8 if $^O eq 'VMS' || $^O eq 'MSWin32';
+
+ my $dir = getcwd();
+ local $ENV{PATH} = join $Config{path_sep}, map "$dir/$_", qw(usrbin bin);
+
+ test_fixin(<<END,
+#!$dir/bin/interp
+
+blah blah blah
+END
+ sub {
+ is $_[0], "#!$dir/usrbin/interp\n", 'interpreter updated to one found in PATH';
+ }
+ );
+
+ eval { symlink("../usrbin/interp", "bin/interp") }
+ or skip "no symlinks", 4;
+
+ test_fixin(<<END,
+#!$dir/bin/interp
+
+blah blah blah
+END
+ sub {
+ is $_[0], "#!$dir/bin/interp\n", 'symlinked interpreter later in PATH not mangled';
+ }
+ );
+}
diff --git a/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm b/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm
index 3d093fcfbd..cfe49e5465 100644
--- a/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm
+++ b/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm
@@ -54,6 +54,9 @@ program - this is a program
1;
END
+ 'Big-Dummy/usrbin/interp' => <<'END',
+This is a dummy interpreter
+END
'Big-Dummy/test.pl' => <<'END',
print "1..1\n";
diff --git a/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm b/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
index ce73b30b77..76c1ad5010 100644
--- a/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
+++ b/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
@@ -407,7 +407,7 @@ sub hash2files {
$file = File::Spec->catfile(File::Spec->curdir, $prefix, split m{\/}, $file);
my $dir = dirname($file);
mkpath $dir;
- my $utf8 = ($] < 5.008 or !$Config{useperlio}) ? "" : ":utf8";
+ my $utf8 = ("$]" < 5.008 or !$Config{useperlio}) ? "" : ":utf8";
open(FILE, ">$utf8", $file) || die "Can't create $file: $!";
print FILE $text;
close FILE;
diff --git a/cpan/ExtUtils-MakeMaker/t/parse_version.t b/cpan/ExtUtils-MakeMaker/t/parse_version.t
index 2dbd064c03..dc9919a551 100644
--- a/cpan/ExtUtils-MakeMaker/t/parse_version.t
+++ b/cpan/ExtUtils-MakeMaker/t/parse_version.t
@@ -53,7 +53,7 @@ if( $Has_Version ) {
$versions{q[$VERSION = v1.2.3]} = 'v1.2.3';
}
-if( $] >= 5.011001 ) {
+if( "$]" >= 5.011001 ) {
$versions{'package Foo 1.23;' } = '1.23';
$versions{'package Foo::Bar 1.23;' } = '1.23';
$versions{'package Foo v1.2.3;' } = 'v1.2.3';
@@ -81,7 +81,7 @@ our $VERSION = 2.34;
END
}
-if( $] >= 5.014 ) {
+if( "$]" >= 5.014 ) {
$versions{'package Foo 1.23 { }' } = '1.23';
$versions{'package Foo::Bar 1.23 { }' } = '1.23';
$versions{'package Foo v1.2.3 { }' } = 'v1.2.3';
@@ -110,7 +110,7 @@ our $VERSION = 2.34;
END
}
-if ( $] > 5.009 && $] < 5.012 ) {
+if ( "$]" < 5.012 ) {
delete $versions{'$VERSION = -1.0'};
}
diff --git a/cpan/ExtUtils-MakeMaker/t/unicode.t b/cpan/ExtUtils-MakeMaker/t/unicode.t
index 557ac77540..14a0c8501b 100644
--- a/cpan/ExtUtils-MakeMaker/t/unicode.t
+++ b/cpan/ExtUtils-MakeMaker/t/unicode.t
@@ -14,7 +14,7 @@ use File::Path;
use utf8;
BEGIN {
plan skip_all => 'Need perlio and perl 5.8+.'
- if $] < 5.008 or !$Config{useperlio};
+ if "$]" < 5.008 or !$Config{useperlio};
plan skip_all => 'cross-compiling and make not available'
if !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'};
@@ -76,7 +76,7 @@ END {
ok( chdir $DIRNAME, "chdir'd to $DIRNAME" ) ||
diag("chdir failed: $!");
-if ($] >= 5.008) {
+if ("$]" >= 5.008) {
eval { require ExtUtils::MakeMaker::Locale; };
note "ExtUtils::MakeMaker::Locale vars: $ExtUtils::MakeMaker::Locale::ENCODING_LOCALE;$ExtUtils::MakeMaker::Locale::ENCODING_LOCALE_FS;$ExtUtils::MakeMaker::Locale::ENCODING_CONSOLE_IN;$ExtUtils::MakeMaker::Locale::ENCODING_CONSOLE_OUT\n" unless $@;
note "Locale env vars: " . join(';', map {
diff --git a/cpan/ExtUtils-MakeMaker/t/vstrings.t b/cpan/ExtUtils-MakeMaker/t/vstrings.t
index 9f88399ebd..63ef8e292b 100644
--- a/cpan/ExtUtils-MakeMaker/t/vstrings.t
+++ b/cpan/ExtUtils-MakeMaker/t/vstrings.t
@@ -93,7 +93,7 @@ sub run_test {
local $_;
SKIP: {
skip "No vstring test <5.8", 2
- if $] < 5.008 && $pkg eq 'BareV2String' && $descrip =~ m!^2-part!;
+ if "$]" < 5.008 && $pkg eq 'BareV2String' && $descrip =~ m!^2-part!;
my $warnings;
eval { $warnings = capture_make("Fake::$pkg" => $version); };
is($@, '', "$descrip not fatal") or skip "$descrip WM failed", 1;