summaryrefslogtreecommitdiff
path: root/cpan
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2013-08-27 13:04:44 +0100
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2013-08-27 14:41:00 +0100
commitd67fe576510286c2425bd5e8c2d7a43992d58d21 (patch)
treec784897d2663cc6048d9e129114c31ed6d7b28ef /cpan
parent8c24c1f7e93a2af859ae46bb1481ed452edcbf85 (diff)
downloadperl-d67fe576510286c2425bd5e8c2d7a43992d58d21.tar.gz
Update ExtUtils-MakerMaker to CPAN version 6.74
[DELTA] 6.74 Tue Aug 27 12:43:05 BST 2013 No changes from 6.73_12 6.73_12 Fri Aug 23 10:49:13 BST 2013 Bug Fixes: * Preserve runtime requires when PREREQ_PM argument is empty or undef (miyagawa) * RT#88037 regen run of Makefile.PL will use same -MCross arg as initial .PL run (bulk88) 6.73_11 Sat Aug 17 22:51:14 BST 2013 Bug Fixes: * RT#87911 prepend SUFFIX with a '.' if one isn't supplied 6.73_10 Fri Aug 16 16:40:09 BST 2013 Bug Fixes: * RT#87839 resolve bootstrap problems when required prereqs are missing 6.73_09 Fri Aug 9 19:58:32 BST 2013 Bug Fixes: * Bundle code from Text::ParseWords to handle splitting PERL_MM_OPT (actually removing Text::ParseWords this time). 6.73_08 Fri Aug 9 19:49:27 BST 2013 Bug Fixes: * Bundle code from Text::ParseWords to handle splitting PERL_MM_OPT. 6.73_07 Wed Aug 7 16:07:04 BST 2013 Bug Fixes: * Set ACTIVEPERL_CONFIG_SILENT=1 during tests to make ActivePerl less vocal about things 6.73_06 Tue Aug 6 00:50:08 BST 2013 New features: * RT#70201 replace -M with Time::HiRes::stat Bug Fixes: * Split PERL_MM_OPT like a shell would, instead of split ' ' Win32 Fixes: * Correct an oversight with Liblist Kid fix 6.73_05 Mon Aug 5 17:44:00 BST 2013 Win32 fixes: * Fix hash randomisation problems with Liblist Kid 6.73_04 Thu Aug 1 22:34:31 BST 2013 Doc fixes: * Corrected example for PM => {} 6.73_03 Tue Jul 30 22:09:52 BST 2013 Bug Fixes: * Fix clean_subdirs target that was generating warning on BSD 6.73_02 Fri Jul 26 13:32:43 BST 2013 Misc: * Updated bundled Parse::CPAN::Meta 6.73_01 Wed Jul 24 23:49:56 BST 2013 Bug Fixes: * Robustified parse_version()
Diffstat (limited to 'cpan')
-rw-r--r--cpan/ExtUtils-MakeMaker/Changes65
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm10
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm12
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm6
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm22
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm90
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm3
-rw-r--r--cpan/ExtUtils-MakeMaker/t/writemakefile_args.t36
31 files changed, 239 insertions, 51 deletions
diff --git a/cpan/ExtUtils-MakeMaker/Changes b/cpan/ExtUtils-MakeMaker/Changes
index 469d2518a8..88abfe4c71 100644
--- a/cpan/ExtUtils-MakeMaker/Changes
+++ b/cpan/ExtUtils-MakeMaker/Changes
@@ -1,3 +1,68 @@
+6.74 Tue Aug 27 12:43:05 BST 2013
+ No changes from 6.73_12
+
+6.73_12 Fri Aug 23 10:49:13 BST 2013
+ Bug Fixes:
+ * Preserve runtime requires when PREREQ_PM argument is empty or undef
+ (miyagawa)
+ * RT#88037 regen run of Makefile.PL will use same -MCross arg as
+ initial .PL run (bulk88)
+
+6.73_11 Sat Aug 17 22:51:14 BST 2013
+ Bug Fixes:
+ * RT#87911 prepend SUFFIX with a '.' if one isn't supplied
+
+6.73_10 Fri Aug 16 16:40:09 BST 2013
+ Bug Fixes:
+ * RT#87839 resolve bootstrap problems when required prereqs
+ are missing
+
+6.73_09 Fri Aug 9 19:58:32 BST 2013
+ Bug Fixes:
+ * Bundle code from Text::ParseWords to handle splitting
+ PERL_MM_OPT (actually removing Text::ParseWords this time).
+
+6.73_08 Fri Aug 9 19:49:27 BST 2013
+ Bug Fixes:
+ * Bundle code from Text::ParseWords to handle splitting
+ PERL_MM_OPT.
+
+6.73_07 Wed Aug 7 16:07:04 BST 2013
+ Bug Fixes:
+ * Set ACTIVEPERL_CONFIG_SILENT=1 during tests to make
+ ActivePerl less vocal about things
+
+6.73_06 Tue Aug 6 00:50:08 BST 2013
+ New features:
+ * RT#70201 replace -M with Time::HiRes::stat
+
+ Bug Fixes:
+ * Split PERL_MM_OPT like a shell would, instead of split ' '
+
+ Win32 Fixes:
+ * Correct an oversight with Liblist Kid fix
+
+6.73_05 Mon Aug 5 17:44:00 BST 2013
+ Win32 fixes:
+ * Fix hash randomisation problems with Liblist Kid
+
+6.73_04 Thu Aug 1 22:34:31 BST 2013
+ Doc fixes:
+ * Corrected example for PM => {}
+
+6.73_03 Tue Jul 30 22:09:52 BST 2013
+ Bug Fixes:
+ * Fix clean_subdirs target that was generating
+ warning on BSD
+
+6.73_02 Fri Jul 26 13:32:43 BST 2013
+ Misc:
+ * Updated bundled Parse::CPAN::Meta
+
+6.73_01 Wed Jul 24 23:49:56 BST 2013
+ Bug Fixes:
+ * Robustified parse_version()
+
6.72 Wed Jul 24 18:38:19 BST 2013
No changes from 6.71_01
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
index cfd78eaea2..1711f8981a 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
@@ -10,10 +10,14 @@ our @ISA = qw(Exporter);
our @EXPORT = qw(test_harness pod2man perllocal_install uninstall
warn_if_old_packlist);
-our $VERSION = '6.72';
+our $VERSION = '6.74';
my $Is_VMS = $^O eq 'VMS';
+eval "require Time::HiRes";
+*mtime = $@ ?
+ sub { [ stat($_[0])]->[9] } :
+ sub { [Time::HiRes::stat($_[0])]->[9] } ;
=head1 NAME
@@ -131,8 +135,8 @@ sub pod2man {
my ($pod, $man) = splice(@ARGV, 0, 2);
next if ((-e $man) &&
- (-M $man < -M $pod) &&
- (-M $man < -M "Makefile"));
+ (mtime($man) > mtime($pod)) &&
+ (mtime($man) > mtime("Makefile")));
print "Manifying $man\n";
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
index fb6ea97001..431548ae7c 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
@@ -2,7 +2,7 @@ package ExtUtils::Liblist;
use strict;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
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 565d89687a..0b976f47c4 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
@@ -11,7 +11,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
use ExtUtils::MakeMaker::Config;
use Cwd 'cwd';
@@ -422,11 +422,11 @@ sub _win32_try_attach_extension {
}
sub _win32_lib_extensions {
- my %extensions;
- $extensions{ $Config{'lib_ext'} } = 1 if $Config{'lib_ext'};
- $extensions{".dll.a"} = 1 if $extensions{".a"};
- $extensions{".lib"} = 1;
- return [ keys %extensions ];
+ my @extensions;
+ push @extensions, $Config{'lib_ext'} if $Config{'lib_ext'};
+ push @extensions, '.dll.a' if grep { m!^\.a$! } @extensions;
+ push @extensions, '.lib' unless grep { m!^\.lib$! } @extensions;
+ return \@extensions;
}
sub _debug {
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
index 819fc00c0d..18f0e1098f 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
@@ -3,7 +3,7 @@ package ExtUtils::MM;
use strict;
use ExtUtils::MakeMaker::Config;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
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 b6856dfaf6..0a19649349 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_AIX;
use strict;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
index 3795ab1f2d..9a26890ad3 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_Any;
use strict;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
use Carp;
use File::Spec;
@@ -578,7 +578,7 @@ clean :: clean_subdirs
# Leave Makefile.old around for realclean
push @m, <<'MAKE';
- - $(NOECHO) $(RM_F) $(MAKEFILE_OLD)
+ $(NOECHO) $(RM_F) $(MAKEFILE_OLD)
- $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL)
MAKE
@@ -1087,7 +1087,7 @@ sub _add_requirements_to_meta_v2 {
}
$meta{prereqs}{runtime}{requires} = _normalize_prereqs($self->{PREREQ_PM})
- if defined $self->{PREREQ_PM};
+ if $self->{ARGS}{PREREQ_PM};
$meta{prereqs}{runtime}{requires}{perl} = _normalize_version($self->{MIN_PERL_VERSION})
if $self->{MIN_PERL_VERSION};
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
index 65f1b32b66..596b908156 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
@@ -26,7 +26,7 @@ require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.72';
+our $VERSION = '6.74';
=item os_flavor
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
index 0f7a1612a9..af1be93fc9 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
@@ -9,7 +9,7 @@ require ExtUtils::MM_Unix;
require ExtUtils::MM_Win32;
our @ISA = qw( ExtUtils::MM_Unix );
-our $VERSION = '6.72';
+our $VERSION = '6.74';
=head1 NAME
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
index ce6a9d6300..cfeff27c2c 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_DOS;
use strict;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
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 fe165ec922..a7f8ffadd8 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
@@ -7,7 +7,7 @@ BEGIN {
our @ISA = qw( ExtUtils::MM_Unix );
}
-our $VERSION = '6.72';
+our $VERSION = '6.74';
=head1 NAME
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
index c81d357cb3..ebc20740ba 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS;
use strict;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
sub new {
die <<'UNSUPPORTED';
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
index bbc47ed6bf..5bf2660716 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
@@ -22,7 +22,7 @@ use strict;
use ExtUtils::MakeMaker::Config;
use File::Basename;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
index a6a31bb566..6c4ef808ac 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
@@ -5,7 +5,7 @@ use strict;
use ExtUtils::MakeMaker qw(neatvalue);
use File::Spec;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
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 cf1d0ba7ca..b352bae9bf 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_QNX;
use strict;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
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 0d25e2c35f..d79419cc37 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_UWIN;
use strict;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
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 110d6650cb..100951f3f8 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -15,7 +15,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue);
# If we make $VERSION an our variable parse_version() breaks
use vars qw($VERSION);
-$VERSION = '6.72';
+$VERSION = '6.74';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
require ExtUtils::MM_Any;
@@ -583,7 +583,6 @@ sub init_dist {
($self->{DISTNAME} = $self->{NAME}) =~ s{::}{-}g unless $self->{DISTNAME};
$self->{DISTVNAME} ||= $self->{DISTNAME}.'-'.$self->{VERSION};
-
}
=item dist (o)
@@ -601,6 +600,9 @@ sub dist {
my($self, %attribs) = @_;
my $make = '';
+ if ( $attribs{SUFFIX} && $attribs{SUFFIX} !~ m!^\.! ) {
+ $attribs{SUFFIX} = '.' . $attribs{SUFFIX};
+ }
foreach my $key (qw(
TAR TARFLAGS ZIP ZIPFLAGS COMPRESS SUFFIX SHAR
PREOP POSTOP TO_UNIX
@@ -2522,8 +2524,12 @@ $(OBJECT) : $(FIRST_MAKEFILE)
my $newer_than_target = $Is{VMS} ? '$(MMS$SOURCE_LIST)' : '$?';
my $mpl_args = join " ", map qq["$_"], @ARGV;
-
- $m .= sprintf <<'MAKE_FRAG', $newer_than_target, $mpl_args;
+ my $cross = '';
+ if (defined $::Cross::platform) {
+ # Inherited from win32/buildext.pl
+ $cross = "-MCross=$::Cross::platform ";
+ }
+ $m .= sprintf <<'MAKE_FRAG', $newer_than_target, $cross, $mpl_args;
# We take a very conservative approach here, but it's worth it.
# We move Makefile to Makefile.old here to avoid gnu make looping.
$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)
@@ -2532,7 +2538,7 @@ $(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)
-$(NOECHO) $(RM_F) $(MAKEFILE_OLD)
-$(NOECHO) $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD)
- $(MAKE) $(USEMAKEFILE) $(MAKEFILE_OLD) clean $(DEV_NULL)
- $(PERLRUN) Makefile.PL %s
+ $(PERLRUN) %sMakefile.PL %s
$(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <=="
$(NOECHO) $(ECHO) "==> Please rerun the $(MAKE) command. <=="
$(FALSE)
@@ -2645,15 +2651,11 @@ sub parse_version {
next if $inpod || /^\s*#/;
chop;
next if /^\s*(if|unless|elsif)/;
- s{\;\s*(?<![\\\$])\#.+?$}{}g;
if ( m{^ \s* package \s+ \w[\w\:\']* \s+ (v?[0-9._]+) \s* ; }x ) {
local $^W = 0;
$result = $1;
}
- elsif ( m{(?<!\\) ([\$*]) (([\w\:\']*) \bVERSION)\b .* [!><=][!><=]}x ) {
- next;
- }
- elsif ( m{(?<!\\) ([\$*]) (([\w\:\']*) \bVERSION)\b .* =}x ) {
+ elsif ( m{(?<!\\) ([\$*]) (([\w\:\']*) \bVERSION)\b .* (?<![<>=!])\=[^=]}x ) {
$result = $self->get_version($parsefile, $1, $2);
}
else {
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
index 2538e63a3c..acf3dd6d0d 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
@@ -15,7 +15,7 @@ BEGIN {
use File::Basename;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
index 0bda8b7ef7..738032303e 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_VOS;
use strict;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
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 0a06233fa9..3310db5bd4 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
@@ -27,7 +27,7 @@ use ExtUtils::MakeMaker qw( neatvalue );
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.72';
+our $VERSION = '6.74';
$ENV{EMXSHELL} = 'sh'; # to run `commands`
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
index b07b9aaa33..a89ee5bc56 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_Win95;
use strict;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
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 008e403a2f..c314562639 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
@@ -3,7 +3,7 @@ package ExtUtils::MY;
use strict;
require ExtUtils::MM;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
our @ISA = qw(ExtUtils::MM);
{
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
index 692f86f979..5049ef9ee5 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
@@ -18,7 +18,7 @@ our @Overridable;
my @Prepend_parent;
my %Recognized_Att_Keys;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
# Emulate something resembling CVS $Revision$
@@ -585,8 +585,9 @@ END
}
my @fm = grep /^FIRST_MAKEFILE=/, @ARGV;
parse_args($self,@fm) if @fm;
- } else {
- parse_args($self,split(' ', $ENV{PERL_MM_OPT} || ''),@ARGV);
+ }
+ else {
+ parse_args($self, _shellwords($ENV{PERL_MM_OPT} || ''),@ARGV);
}
@@ -799,6 +800,83 @@ END
return @result;
}
+# _shellwords and _parseline borrowed from Text::ParseWords
+sub _shellwords {
+ my (@lines) = @_;
+ my @allwords;
+
+ foreach my $line (@lines) {
+ $line =~ s/^\s+//;
+ my @words = _parse_line('\s+', 0, $line);
+ pop @words if (@words and !defined $words[-1]);
+ return() unless (@words || !length($line));
+ push(@allwords, @words);
+ }
+ return(@allwords);
+}
+
+sub _parse_line {
+ my($delimiter, $keep, $line) = @_;
+ my($word, @pieces);
+
+ no warnings 'uninitialized'; # we will be testing undef strings
+
+ while (length($line)) {
+ # This pattern is optimised to be stack conservative on older perls.
+ # Do not refactor without being careful and testing it on very long strings.
+ # See Perl bug #42980 for an example of a stack busting input.
+ $line =~ s/^
+ (?:
+ # double quoted string
+ (") # $quote
+ ((?>[^\\"]*(?:\\.[^\\"]*)*))" # $quoted
+ | # --OR--
+ # singe quoted string
+ (') # $quote
+ ((?>[^\\']*(?:\\.[^\\']*)*))' # $quoted
+ | # --OR--
+ # unquoted string
+ ( # $unquoted
+ (?:\\.|[^\\"'])*?
+ )
+ # followed by
+ ( # $delim
+ \Z(?!\n) # EOL
+ | # --OR--
+ (?-x:$delimiter) # delimiter
+ | # --OR--
+ (?!^)(?=["']) # a quote
+ )
+ )//xs or return; # extended layout
+ my ($quote, $quoted, $unquoted, $delim) = (($1 ? ($1,$2) : ($3,$4)), $5, $6);
+
+
+ return() unless( defined($quote) || length($unquoted) || length($delim));
+
+ if ($keep) {
+ $quoted = "$quote$quoted$quote";
+ }
+ else {
+ $unquoted =~ s/\\(.)/$1/sg;
+ if (defined $quote) {
+ $quoted =~ s/\\(.)/$1/sg if ($quote eq '"');
+ #$quoted =~ s/\\([\\'])/$1/g if ( $PERL_SINGLE_QUOTE && $quote eq "'");
+ }
+ }
+ $word .= substr($line, 0, 0); # leave results tainted
+ $word .= defined $quote ? $quoted : $unquoted;
+
+ if (length($delim)) {
+ push(@pieces, $word);
+ push(@pieces, $delim) if ($keep eq 'delimiters');
+ undef $word;
+ }
+ if (!length($line)) {
+ push(@pieces, $word);
+ }
+ }
+ return(@pieces);
+}
sub check_manifest {
print "Checking if your kit is complete...\n";
@@ -2284,7 +2362,7 @@ is there for backwards compatibility (and it's somewhat DWIM).
Hashref of .pm files and *.pl files to be installed. e.g.
- {'name_of_file.pm' => '$(INST_LIBDIR)/install_as.pm'}
+ {'name_of_file.pm' => '$(INST_LIB)/install_as.pm'}
By default this will include *.pm and *.pl and the files found in
the PMLIBDIRS directories. Defining PM in the
@@ -2921,9 +2999,11 @@ If no $default is provided an empty string will be used instead.
=item PERL_MM_OPT
Command line options used by C<MakeMaker-E<gt>new()>, and thus by
-C<WriteMakefile()>. The string is split on whitespace, and the result
+C<WriteMakefile()>. The string is split as the shell would, and the result
is processed before any actual command line arguments are processed.
+ PERL_MM_OPT='CCFLAGS="-Wl,-rpath -Wl,/foo/bar/lib" LIBS="-lwibble -lwobble"'
+
=item PERL_MM_USE_DEFAULT
If set to a true value then MakeMaker's prompt function will
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
index 0c4eb7d465..3e7b432ddc 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
@@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config;
use strict;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
use Config ();
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
index 1b863cc117..ba8188b9b0 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::FAQ;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
1;
__END__
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
index b69fe6ac43..baded39fd0 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::Tutorial;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
=head1 NAME
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
index c97498dc9c..55ed7f87e9 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
@@ -3,7 +3,7 @@ package ExtUtils::Mkbootstrap;
# There's just too much Dynaloader incest here to turn on strict vars.
use strict 'refs';
-our $VERSION = '6.72';
+our $VERSION = '6.74';
require Exporter;
our @ISA = ('Exporter');
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
index 69647a80d4..697290ee86 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
@@ -10,7 +10,7 @@ use Config;
our @ISA = qw(Exporter);
our @EXPORT = qw(&Mksymlists);
-our $VERSION = '6.72';
+our $VERSION = '6.74';
sub Mksymlists {
my(%spec) = @_;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
index f19164eb13..b6b76ad717 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
@@ -3,7 +3,7 @@ package ExtUtils::testlib;
use strict;
use warnings;
-our $VERSION = '6.72';
+our $VERSION = '6.74';
use Cwd;
use File::Spec;
diff --git a/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm b/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
index 9f7e3f1be5..1b929b1226 100644
--- a/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
+++ b/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
@@ -38,6 +38,9 @@ our @EXPORT = qw(which_perl perl_lib makefile_name makefile_backup
# Inform the BSDPAN hacks not to register modules installed for testing.
$default_env_keys{PORTOBJFORMAT} = 1 if $Is_FreeBSD;
+ # https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/65
+ $default_env_keys{ACTIVEPERL_CONFIG_SILENT} = 1;
+
# Remember the ENV values because on VMS %ENV is global
# to the user, not the process.
my %restore_env_keys;
diff --git a/cpan/ExtUtils-MakeMaker/t/writemakefile_args.t b/cpan/ExtUtils-MakeMaker/t/writemakefile_args.t
index 421a311c18..c3133a29bb 100644
--- a/cpan/ExtUtils-MakeMaker/t/writemakefile_args.t
+++ b/cpan/ExtUtils-MakeMaker/t/writemakefile_args.t
@@ -8,7 +8,7 @@ BEGIN {
}
use strict;
-use Test::More tests => 39;
+use Test::More tests => 43;
use TieOut;
use MakeMaker::Test::Utils;
@@ -239,4 +239,38 @@ VERIFY
is( $warnings, '' );
is_deeply( $mm->{AUTHOR}, ["test1","test2"] );
+ # PERL_MM_OPT
+ {
+ local $ENV{PERL_MM_OPT} = 'CCFLAGS="-Wl,-rpath -Wl,/foo/bar/lib" LIBS="-lwibble -lwobble"';
+ $mm = WriteMakefile(
+ NAME => 'Big::Dummy',
+ VERSION => '1.00',
+ );
+
+ is( $mm->{CCFLAGS}, "-Wl,-rpath -Wl,/foo/bar/lib", 'parse_args() splits like shell' );
+ is_deeply( $mm->{LIBS}, ['-lwibble -lwobble'], 'parse_args() splits like shell' );
+ }
+
+ # PERL_MM_OPT
+ {
+ local $ENV{PERL_MM_OPT} = 'INSTALL_BASE=/how/we/have/not/broken/local/lib';
+ $mm = WriteMakefile(
+ NAME => 'Big::Dummy',
+ VERSION => '1.00',
+ );
+
+ is( $mm->{INSTALL_BASE}, "/how/we/have/not/broken/local/lib", 'parse_args() splits like shell' );
+ }
+
+ # PERL_MM_OPT
+ {
+ local $ENV{PERL_MM_OPT} = 'INSTALL_BASE="/Users/miyagawa/tmp/car1 foo/foo bar"';
+ $mm = WriteMakefile(
+ NAME => 'Big::Dummy',
+ VERSION => '1.00',
+ );
+
+ is( $mm->{INSTALL_BASE}, "/Users/miyagawa/tmp/car1 foo/foo bar", 'parse_args() splits like shell' );
+ }
+
}