This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update ExtUtils-MakerMaker to CPAN version 6.74
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Tue, 27 Aug 2013 12:04:44 +0000 (13:04 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Tue, 27 Aug 2013 13:41:00 +0000 (14:41 +0100)
  [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()

32 files changed:
Porting/Maintainers.pl
cpan/ExtUtils-MakeMaker/Changes
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
cpan/ExtUtils-MakeMaker/t/writemakefile_args.t

index e247f71..92171e4 100755 (executable)
@@ -693,7 +693,7 @@ use File::Glob qw(:case);
 
     'ExtUtils::MakeMaker' => {
         'MAINTAINER'   => 'mschwern',
-        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.72.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.74.tar.gz',
         'FILES'        => q[cpan/ExtUtils-MakeMaker],
         'EXCLUDED'     => [
             qr{^t/lib/Test/},
index 469d251..88abfe4 100644 (file)
@@ -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
 
index cfd78ea..1711f89 100644 (file)
@@ -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";
 
index fb6ea97..431548a 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::Liblist;
 
 use strict;
 
-our $VERSION = '6.72';
+our $VERSION = '6.74';
 
 use File::Spec;
 require ExtUtils::Liblist::Kid;
index 565d896..0b976f4 100644 (file)
@@ -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 {
index 819fc00..18f0e10 100644 (file)
@@ -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;
index b6856df..0a19649 100644 (file)
@@ -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);
index 3795ab1..9a26890 100644 (file)
@@ -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};
 
index 65f1b32..596b908 100644 (file)
@@ -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
index 0f7a161..af1be93 100644 (file)
@@ -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
index ce6a9d6..cfeff27 100644 (file)
@@ -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;
index fe165ec..a7f8ffa 100644 (file)
@@ -7,7 +7,7 @@ BEGIN {
     our @ISA = qw( ExtUtils::MM_Unix );
 }
 
-our $VERSION = '6.72';
+our $VERSION = '6.74';
 
 
 =head1 NAME
index c81d357..ebc2074 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS;
 
 use strict;
 
-our $VERSION = '6.72';
+our $VERSION = '6.74';
 
 sub new {
     die <<'UNSUPPORTED';
index bbc47ed..5bf2660 100644 (file)
@@ -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);
index a6a31bb..6c4ef80 100644 (file)
@@ -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;
index cf1d0ba..b352bae 100644 (file)
@@ -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);
index 0d25e2c..d79419c 100644 (file)
@@ -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);
index 110d665..100951f 100644 (file)
@@ -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 {
index 2538e63..acf3dd6 100644 (file)
@@ -15,7 +15,7 @@ BEGIN {
 
 use File::Basename;
 
-our $VERSION = '6.72';
+our $VERSION = '6.74';
 
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
index 0bda8b7..7380323 100644 (file)
@@ -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);
index 0a06233..3310db5 100644 (file)
@@ -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`
 
index b07b9aa..a89ee5b 100644 (file)
@@ -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);
index 008e403..c314562 100644 (file)
@@ -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);
 
 {
index 692f86f..5049ef9 100644 (file)
@@ -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
index 0c4eb7d..3e7b432 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config;
 
 use strict;
 
-our $VERSION = '6.72';
+our $VERSION = '6.74';
 
 use Config ();
 
index 1b863cc..ba8188b 100644 (file)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::FAQ;
 
-our $VERSION = '6.72';
+our $VERSION = '6.74';
 
 1;
 __END__
index b69fe6a..baded39 100644 (file)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::Tutorial;
 
-our $VERSION = '6.72';
+our $VERSION = '6.74';
 
 
 =head1 NAME
index c97498d..55ed7f8 100644 (file)
@@ -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');
index 69647a8..697290e 100644 (file)
@@ -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) = @_;
index f19164e..b6b76ad 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::testlib;
 use strict;
 use warnings;
 
-our $VERSION = '6.72';
+our $VERSION = '6.74';
 
 use Cwd;
 use File::Spec;
index 9f7e3f1..1b929b1 100644 (file)
@@ -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;
index 421a311..c3133a2 100644 (file)
@@ -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' );
+    }
+
 }