This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update ExtUtils-MakeMaker to CPAN version 7.40
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Mon, 16 Dec 2019 20:36:21 +0000 (20:36 +0000)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Mon, 16 Dec 2019 21:33:00 +0000 (21:33 +0000)
  [DELTA]

7.40    Mon 16 Dec 19:33:13 GMT 2019

    No changes since v7.39_05

7.39_05 Thu 21 Nov 11:45:13 GMT 2019

    Bug fixes:
    - Always assume that libraries are shared on AIX

7.39_04 Mon 18 Nov 14:54:46 GMT 2019

    Test Fixes:
    - Skip "merged /usr" tests on Cygwin

    QA Fixes:
    - Added cygwin testing with Github actions
    - Added macos testing with Github actions

7.39_03 Sun 17 Nov 19:53:04 GMT 2019

    Doc fixes:
    - Fix typo in link to MakeMaker
    - Link to referenced modules from MM_Cygwin maybe_command

7.39_02 Thu  7 Nov 09:33:29 GMT 2019

    Cygwin fixes:
    - Removed MM_Cygwin all_target() override

    Doc fixes:
    - Add crosslinks to various referenced documentation

7.39_01 Mon 16 Sep 07:19:37 BST 2019

    Test fixes:
    - README.pod warnings suppressed during testing
    - Don't parallise dynamic/static tests

39 files changed:
MANIFEST
Porting/Maintainers.pl
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm
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/Locale.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm
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/MM_Unix.t
cpan/ExtUtils-MakeMaker/t/build_man.t
cpan/ExtUtils-MakeMaker/t/fixin.t
cpan/ExtUtils-MakeMaker/t/testrules.yml [new file with mode: 0644]
t/porting/customized.dat

index 2903817..b749962 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -868,6 +868,7 @@ cpan/ExtUtils-MakeMaker/t/test_boilerplate.t                        MakeMaker test
 cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch1/Config.pm     test data for MakeMaker
 cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch2/Config.pm     test data for MakeMaker
 cpan/ExtUtils-MakeMaker/t/testlib.t                            See if ExtUtils::testlib works
+cpan/ExtUtils-MakeMaker/t/testrules.yml
 cpan/ExtUtils-MakeMaker/t/unicode.t
 cpan/ExtUtils-MakeMaker/t/VERSION_FROM.t                       See if MakeMaker's VERSION_FROM works
 cpan/ExtUtils-MakeMaker/t/vstrings.t
index 19ed11f..97c092a 100755 (executable)
@@ -473,7 +473,7 @@ use File::Glob qw(:case);
     },
 
     'ExtUtils::MakeMaker' => {
-        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.38.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.40.tar.gz',
         'FILES'        => q[cpan/ExtUtils-MakeMaker],
         'EXCLUDED'     => [
             qr{^t/lib/Test/},
@@ -485,6 +485,10 @@ use File::Glob qw(:case);
             'README.packaging',
             'lib/ExtUtils/MakeMaker/version/vpp.pm',
         ],
+        'CUSTOMIZED'   => [
+            # https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/646f74e78
+            qw(lib/ExtUtils/MM_Any.pm)
+        ],
     },
 
     'ExtUtils::Manifest' => {
index 60f68db..0286cd3 100644 (file)
@@ -7,7 +7,7 @@ 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.38';
+$VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 my $Is_VMS   = $^O eq 'VMS';
index 7ac8679..f018f3d 100644 (file)
@@ -10,7 +10,7 @@ our @ISA = qw(Exporter);
 
 our @EXPORT  = qw(test_harness pod2man perllocal_install uninstall
                   warn_if_old_packlist test_s cp_nonempty);
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 my $Is_VMS = $^O eq 'VMS';
index c908746..f86ae42 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::Liblist;
 
 use strict;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 use File::Spec;
index af4725d..1066ba7 100644 (file)
@@ -11,7 +11,7 @@ use 5.006;
 
 use strict;
 use warnings;
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 use ExtUtils::MakeMaker::Config;
@@ -210,7 +210,8 @@ sub _unix_os2_ext {
             # Now update library lists
 
             # what do we know about this library...
-            my $is_dyna = ( $fullname !~ /\Q$Config_libext\E\z/ );
+            # "Sounds like we should always assume it's a dynamic library on AIX."
+            my $is_dyna = $^O eq 'aix' ? 1 : ( $fullname !~ /\Q$Config_libext\E\z/ );
             my $in_perl = ( $libs =~ /\B-l:?\Q${thislib}\E\b/s );
 
             # include the path to the lib once in the dynamic linker path
index f0add38..54abc8a 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::MM;
 use strict;
 use ExtUtils::MakeMaker::Config;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::Liblist;
@@ -23,9 +23,9 @@ ExtUtils::MM - OS adjusted ExtUtils::MakeMaker subclass
 
 B<FOR INTERNAL USE ONLY>
 
-ExtUtils::MM is a subclass of ExtUtils::MakeMaker which automatically
+ExtUtils::MM is a subclass of L<ExtUtils::MakeMaker> which automatically
 chooses the appropriate OS specific subclass for you
-(ie. ExtUils::MM_Unix, etc...).
+(ie. L<ExtUtils::MM_Unix>, etc...).
 
 It also provides a convenient alias via the MM class (I didn't want
 MakeMaker modules outside of ExtUtils/).
index dc88042..b7ff65a 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_AIX;
 
 use strict;
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 use ExtUtils::MakeMaker::Config;
@@ -19,10 +19,10 @@ ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix
 
 =head1 DESCRIPTION
 
-This is a subclass of ExtUtils::MM_Unix which contains functionality for
+This is a subclass of L<ExtUtils::MM_Unix> which contains functionality for
 AIX.
 
-Unless otherwise stated it works just like ExtUtils::MM_Unix
+Unless otherwise stated it works just like ExtUtils::MM_Unix.
 
 =head2 Overridden methods
 
index 50539fd..779cd25 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_Any;
 
 use strict;
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 use Carp;
@@ -46,7 +46,7 @@ ExtUtils::MM_Any is a superclass for the ExtUtils::MM_* set of
 modules.  It contains methods which are either inherently
 cross-platform or are written in a cross-platform manner.
 
-Subclass off of ExtUtils::MM_Any I<and> ExtUtils::MM_Unix.  This is a
+Subclass off of ExtUtils::MM_Any I<and> L<ExtUtils::MM_Unix>.  This is a
 temporary solution.
 
 B<THIS MAY BE TEMPORARY!>
@@ -1167,7 +1167,7 @@ MAKE_FRAG
 
     $mm->_fix_metadata_before_conversion( \%metadata );
 
-Fixes errors in the metadata before it's handed off to CPAN::Meta for
+Fixes errors in the metadata before it's handed off to L<CPAN::Meta> for
 conversion. This hopefully results in something that can be used further
 on, no guarantee is made though.
 
@@ -2418,7 +2418,7 @@ Initializes the macro definitions having to do with compiling and
 linking used by tools_other() and places them in the $MM object.
 
 If there is no description, its the same as the parameter to
-WriteMakefile() documented in ExtUtils::MakeMaker.
+WriteMakefile() documented in L<ExtUtils::MakeMaker>.
 
 =cut
 
@@ -2769,7 +2769,7 @@ END
 
 =head2 File::Spec wrappers
 
-ExtUtils::MM_Any is a subclass of File::Spec.  The methods noted here
+ExtUtils::MM_Any is a subclass of L<File::Spec>.  The methods noted here
 override File::Spec.
 
 
@@ -2910,8 +2910,7 @@ sub libscan {
     my($self,$path) = @_;
 
     if ($path =~ m<^README\.pod$>i) {
-        warn "WARNING: Older versions of ExtUtils::MakeMaker may errantly install $path as part of this distribution. It is recommended to avoid using this path in CPAN modules.\n"
-          unless $ENV{PERL_CORE};
+        warn "WARNING: Older versions of ExtUtils::MakeMaker may errantly install $path as part of this distribution. It is recommended to avoid using this path in CPAN modules.\n";
         return '';
     }
 
index c3ba21d..7788a11 100644 (file)
@@ -12,7 +12,7 @@ ExtUtils::MM_BeOS - methods to override UN*X behaviour in ExtUtils::MakeMaker
 
 =head1 DESCRIPTION
 
-See ExtUtils::MM_Unix for a documentation of the methods provided
+See L<ExtUtils::MM_Unix> for a documentation of the methods provided
 there. This package overrides the implementation of these methods, not
 the semantics.
 
@@ -26,7 +26,7 @@ require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
 
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 
index c9ac9d9..93aa1a9 100644 (file)
@@ -9,7 +9,7 @@ require ExtUtils::MM_Unix;
 require ExtUtils::MM_Win32;
 our @ISA = qw( ExtUtils::MM_Unix );
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 
@@ -23,7 +23,7 @@ ExtUtils::MM_Cygwin - methods to override UN*X behaviour in ExtUtils::MakeMaker
 
 =head1 DESCRIPTION
 
-See ExtUtils::MM_Unix for a documentation of the methods provided there.
+See L<ExtUtils::MM_Unix> for a documentation of the methods provided there.
 
 =over 4
 
@@ -104,8 +104,8 @@ sub init_linker {
 
 Determine whether a file is native to Cygwin by checking whether it
 resides inside the Cygwin installation (using Windows paths). If so,
-use C<ExtUtils::MM_Unix> to determine if it may be a command.
-Otherwise use the tests from C<ExtUtils::MM_Win32>.
+use L<ExtUtils::MM_Unix> to determine if it may be a command.
+Otherwise use the tests from L<ExtUtils::MM_Win32>.
 
 =cut
 
@@ -158,16 +158,6 @@ sub install {
     $s;
 }
 
-=item all_target
-
-Build man pages, too
-
-=cut
-
-sub all_target {
-    ExtUtils::MM_Unix::all_target(shift);
-}
-
 =back
 
 =cut
index 00ad560..b135277 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_DOS;
 
 use strict;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
@@ -21,10 +21,10 @@ ExtUtils::MM_DOS - DOS specific subclass of ExtUtils::MM_Unix
 
 =head1 DESCRIPTION
 
-This is a subclass of ExtUtils::MM_Unix which contains functionality
+This is a subclass of L<ExtUtils::MM_Unix> which contains functionality
 for DOS.
 
-Unless otherwise stated, it works just like ExtUtils::MM_Unix
+Unless otherwise stated, it works just like ExtUtils::MM_Unix.
 
 =head2 Overridden methods
 
index 30c40e7..89fee81 100644 (file)
@@ -7,7 +7,7 @@ BEGIN {
     our @ISA = qw( ExtUtils::MM_Unix );
 }
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 
@@ -21,7 +21,7 @@ ExtUtils::MM_Darwin - special behaviors for OS X
 
 =head1 DESCRIPTION
 
-See L<ExtUtils::MM_Unix> for L<ExtUtils::MM_Any> for documentation on the
+See L<ExtUtils::MM_Unix> or L<ExtUtils::MM_Any> for documentation on the
 methods overridden here.
 
 =head2 Overridden Methods
index 67e1026..5bcb260 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS;
 
 use strict;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 sub new {
index 9e1c212..1dcfee5 100644 (file)
@@ -10,7 +10,7 @@ ExtUtils::MM_NW5 - methods to override UN*X behaviour in ExtUtils::MakeMaker
 
 =head1 DESCRIPTION
 
-See ExtUtils::MM_Unix for a documentation of the methods provided
+See L<ExtUtils::MM_Unix> for a documentation of the methods provided
 there. This package overrides the implementation of these methods, not
 the semantics.
 
@@ -22,7 +22,7 @@ use strict;
 use ExtUtils::MakeMaker::Config;
 use File::Basename;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Win32;
index c966318..06082cd 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use ExtUtils::MakeMaker qw(neatvalue);
 use File::Spec;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
@@ -24,7 +24,7 @@ ExtUtils::MM_OS2 - methods to override UN*X behaviour in ExtUtils::MakeMaker
 
 =head1 DESCRIPTION
 
-See ExtUtils::MM_Unix for a documentation of the methods provided
+See L<ExtUtils::MM_Unix> for a documentation of the methods provided
 there. This package overrides the implementation of these methods, not
 the semantics.
 
index 446fbf8..5251db4 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_QNX;
 
 use strict;
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Unix;
@@ -19,10 +19,10 @@ ExtUtils::MM_QNX - QNX specific subclass of ExtUtils::MM_Unix
 
 =head1 DESCRIPTION
 
-This is a subclass of ExtUtils::MM_Unix which contains functionality for
+This is a subclass of L<ExtUtils::MM_Unix> which contains functionality for
 QNX.
 
-Unless otherwise stated it works just like ExtUtils::MM_Unix
+Unless otherwise stated it works just like ExtUtils::MM_Unix.
 
 =head2 Overridden methods
 
index 2edb150..5c9c9be 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_UWIN;
 
 use strict;
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Unix;
@@ -19,10 +19,10 @@ ExtUtils::MM_UWIN - U/WIN specific subclass of ExtUtils::MM_Unix
 
 =head1 DESCRIPTION
 
-This is a subclass of ExtUtils::MM_Unix which contains functionality for
+This is a subclass of L<ExtUtils::MM_Unix> which contains functionality for
 the AT&T U/WIN UNIX on Windows environment.
 
-Unless otherwise stated it works just like ExtUtils::MM_Unix
+Unless otherwise stated it works just like ExtUtils::MM_Unix.
 
 =head2 Overridden methods
 
index b6834e9..8de0336 100644 (file)
@@ -14,7 +14,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue _sprintf562);
 
 # If we make $VERSION an our variable parse_version() breaks
 use vars qw($VERSION);
-$VERSION = '7.38';
+$VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
@@ -63,10 +63,10 @@ ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
 =head1 DESCRIPTION
 
 The methods provided by this package are designed to be used in
-conjunction with ExtUtils::MakeMaker. When MakeMaker writes a
+conjunction with L<ExtUtils::MakeMaker>. When MakeMaker writes a
 Makefile, it creates one or more objects that inherit their methods
-from a package C<MM>. MM itself doesn't provide any methods, but it
-ISA ExtUtils::MM_Unix class. The inheritance tree of MM lets operating
+from a package L<MM|ExtUtils::MM>. MM itself doesn't provide any methods, but
+it ISA ExtUtils::MM_Unix class. The inheritance tree of MM lets operating
 specific packages take the responsibility for all the methods provided
 by MM_Unix. We are trying to reduce the number of the necessary
 overrides by defining rather primitive operations within
@@ -93,8 +93,8 @@ Not all of the methods below are overridable in a
 Makefile.PL. Overridable methods are marked as (o). All methods are
 overridable by a platform specific MM_*.pm file.
 
-Cross-platform methods are being moved into MM_Any.  If you can't find
-something that used to be in here, look in MM_Any.
+Cross-platform methods are being moved into L<MM_Any|ExtUtils::MM_Any>.
+If you can't find something that used to be in here, look in MM_Any.
 
 =cut
 
@@ -3528,7 +3528,7 @@ sub escape_newlines {
 
 =item max_exec_len
 
-Using POSIX::ARG_MAX.  Otherwise falling back to 4096.
+Using L<POSIX>::ARG_MAX.  Otherwise falling back to 4096.
 
 =cut
 
index bed8751..e45fd62 100644 (file)
@@ -15,7 +15,7 @@ BEGIN {
 
 use File::Basename;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
@@ -38,7 +38,7 @@ ExtUtils::MM_VMS - methods to override UN*X behaviour in ExtUtils::MakeMaker
 
 =head1 DESCRIPTION
 
-See ExtUtils::MM_Unix for a documentation of the methods provided
+See L<ExtUtils::MM_Unix> for a documentation of the methods provided
 there. This package overrides the implementation of these methods, not
 the semantics.
 
@@ -87,7 +87,7 @@ sub ext {
 Those methods which override default MM_Unix methods are marked
 "(override)", while methods unique to MM_VMS are marked "(specific)".
 For overridden methods, documentation is limited to an explanation
-of why this method overrides the MM_Unix method; see the ExtUtils::MM_Unix
+of why this method overrides the MM_Unix method; see the L<ExtUtils::MM_Unix>
 documentation for more details.
 
 =over 4
@@ -251,7 +251,8 @@ sub find_perl {
 
 =item _fixin_replace_shebang (override)
 
-Helper routine for MM->fixin(), overridden because there's no such thing as an
+Helper routine for L<< MM->fixin()|ExtUtils::MM_Unix/fixin >>, overridden
+because there's no such thing as an
 actual shebang line that will be interpreted by the shell, so we just prepend
 $Config{startperl} and preserve the shebang line argument for any switches it
 may contain.
@@ -1488,8 +1489,8 @@ uninstall_from_vendordirs ::
 =item perldepend (override)
 
 Use VMS-style syntax for files; it's cheaper to just do it directly here
-than to have the MM_Unix method call C<catfile> repeatedly.  Also, if
-we have to rebuild Config.pm, use MM[SK] to do it.
+than to have the L<MM_Unix|ExtUtils::MM_Unix> method call C<catfile>
+repeatedly.  Also, if we have to rebuild Config.pm, use MM[SK] to do it.
 
 =cut
 
@@ -2082,7 +2083,7 @@ sub init_linker {
 
 Eliminate the macros in the output to the MMS/MMK file.
 
-(File::Spec::VMS used to do this for us, but it's being removed)
+(L<File::Spec::VMS> used to do this for us, but it's being removed)
 
 =cut
 
@@ -2121,7 +2122,7 @@ identically named elements of C<%$self>, and returns the result
 as a file specification in Unix syntax.
 
 NOTE:  This is the canonical version of the method.  The version in
-File::Spec::VMS is deprecated.
+L<File::Spec::VMS> is deprecated.
 
 =cut
 
@@ -2183,7 +2184,7 @@ force fixpath() to consider the path to be a directory or false to force
 it to be a file.
 
 NOTE:  This is the canonical version of the method.  The version in
-File::Spec::VMS is deprecated.
+L<File::Spec::VMS> is deprecated.
 
 =cut
 
index 7f568de..2436bac 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_VOS;
 
 use strict;
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Unix;
@@ -19,10 +19,10 @@ ExtUtils::MM_VOS - VOS specific subclass of ExtUtils::MM_Unix
 
 =head1 DESCRIPTION
 
-This is a subclass of ExtUtils::MM_Unix which contains functionality for
+This is a subclass of L<ExtUtils::MM_Unix> which contains functionality for
 VOS.
 
-Unless otherwise stated it works just like ExtUtils::MM_Unix
+Unless otherwise stated it works just like ExtUtils::MM_Unix.
 
 =head2 Overridden methods
 
index 8462cdb..ab57645 100644 (file)
@@ -13,7 +13,7 @@ ExtUtils::MM_Win32 - methods to override UN*X behaviour in ExtUtils::MakeMaker
 
 =head1 DESCRIPTION
 
-See ExtUtils::MM_Unix for a documentation of the methods provided
+See L<ExtUtils::MM_Unix> for a documentation of the methods provided
 there. This package overrides the implementation of these methods, not
 the semantics.
 
@@ -27,7 +27,7 @@ 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.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 $ENV{EMXSHELL} = 'sh'; # to run `commands`
index 18a2544..7425098 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_Win95;
 
 use strict;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Win32;
@@ -21,7 +21,7 @@ ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X
 
 =head1 DESCRIPTION
 
-This is a subclass of ExtUtils::MM_Win32 containing changes necessary
+This is a subclass of L<ExtUtils::MM_Win32> containing changes necessary
 to get MakeMaker playing nice with command.com and other Win9Xisms.
 
 =head2 Overridden methods
index 4ec7414..45d0968 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::MY;
 use strict;
 require ExtUtils::MM;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 our @ISA = qw(ExtUtils::MM);
 
@@ -30,7 +30,7 @@ ExtUtils::MY - ExtUtils::MakeMaker subclass for customization
 
 B<FOR INTERNAL USE ONLY>
 
-ExtUtils::MY is a subclass of ExtUtils::MM.  Its provided in your
+ExtUtils::MY is a subclass of L<ExtUtils::MM>.  Its provided in your
 Makefile.PL for you to add and override MakeMaker functionality.
 
 It also provides a convenient alias via the MY class.
index b30baf8..d49f1b4 100644 (file)
@@ -24,7 +24,7 @@ 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.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 # Emulate something resembling CVS $Revision$
@@ -1429,6 +1429,8 @@ seeks to handle all of these correctly. It is currently still not possible
 to portably use Unicode characters in module names, because this requires
 Perl to handle Unicode filenames, which is not yet the case on Windows.
 
+See L<ExtUtils::MakeMaker::FAQ> for details of the design and usage.
+
 =head2 How To Write A Makefile.PL
 
 See L<ExtUtils::MakeMaker::Tutorial>.
@@ -3039,7 +3041,8 @@ be linked.
 
 =item postamble
 
-Anything put here will be passed to MY::postamble() if you have one.
+Anything put here will be passed to
+L<MY::postamble()|ExtUtils::MM_Any/postamble (o)> if you have one.
 
 =item realclean
 
@@ -3086,7 +3089,7 @@ or you can edit the default by saying something like:
 
 If you are running experiments with embedding perl as a library into
 other applications, you might find MakeMaker is not sufficient. You'd
-better have a look at ExtUtils::Embed which is a collection of utilities
+better have a look at L<ExtUtils::Embed> which is a collection of utilities
 for embedding.
 
 If you still need a different solution, try to develop another
@@ -3150,7 +3153,7 @@ override or create an attribute you would say something like
 =head2 Distribution Support
 
 For authors of extensions MakeMaker provides several Makefile
-targets. Most of the support comes from the ExtUtils::Manifest module,
+targets. Most of the support comes from the L<ExtUtils::Manifest> module,
 where additional documentation can be found.
 
 =over 4
@@ -3158,13 +3161,13 @@ where additional documentation can be found.
 =item    make distcheck
 
 reports which files are below the build directory but not in the
-MANIFEST file and vice versa. (See ExtUtils::Manifest::fullcheck() for
+MANIFEST file and vice versa. (See L<ExtUtils::Manifest/fullcheck> for
 details)
 
 =item    make skipcheck
 
 reports which files are skipped due to the entries in the
-C<MANIFEST.SKIP> file (See ExtUtils::Manifest::skipcheck() for
+C<MANIFEST.SKIP> file (See L<ExtUtils::Manifest/skipcheck> for
 details)
 
 =item    make distclean
@@ -3181,7 +3184,7 @@ C<*.bak>, C<*.old> and C<*.orig>
 =item    make manifest
 
 rewrites the MANIFEST file, adding all remaining files found (See
-ExtUtils::Manifest::mkmanifest() for details)
+L<ExtUtils::Manifest/mkmanifest> for details)
 
 =item    make distdir
 
index 47034c3..7e943e1 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config;
 
 use strict;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 use Config ();
index d2833b7..3454f1d 100644 (file)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::FAQ;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 1;
@@ -12,7 +12,7 @@ ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About MakeMaker
 
 =head1 DESCRIPTION
 
-FAQs, tricks and tips for C<ExtUtils::MakeMaker>.
+FAQs, tricks and tips for L<ExtUtils::MakeMaker>.
 
 
 =head2 Module Installation
@@ -569,7 +569,7 @@ What most people need to know (superclasses on top.)
                 |
                MY
 
-The object actually used is of the class MY which allows you to
+The object actually used is of the class L<MY|ExtUtils::MY> which allows you to
 override bits of MakeMaker inside your Makefile.PL by declaring
 MY::foo() methods.
 
@@ -600,24 +600,24 @@ NOTE: Yes, this is a mess.  See
 L<http://archive.develooper.com/makemaker@perl.org/msg00134.html>
 for some history.
 
-NOTE: When ExtUtils::MM is loaded it chooses a superclass for MM from
+NOTE: When L<ExtUtils::MM> is loaded it chooses a superclass for MM from
 amongst the ExtUtils::MM_* modules based on the current operating
 system.
 
 NOTE: ExtUtils::MM_{Current OS} represents one of the ExtUtils::MM_*
-modules except ExtUtils::MM_Any chosen based on your operating system.
+modules except L<ExtUtils::MM_Any> chosen based on your operating system.
 
 NOTE: The main object used by MakeMaker is a PACK### object, *not*
-ExtUtils::MakeMaker.  It is, effectively, a subclass of MY,
-ExtUtils::Makemaker, ExtUtils::Liblist and ExtUtils::MM_{Current OS}
+L<ExtUtils::MakeMaker>.  It is, effectively, a subclass of L<MY|ExtUtils::MY>,
+L<ExtUtils::MakeMaker>, L<ExtUtils::Liblist> and ExtUtils::MM_{Current OS}
 
-NOTE: The methods in MY are simply copied into PACK### rather than
-MY being a superclass of PACK###.  I don't remember the rationale.
+NOTE: The methods in L<MY|ExtUtils::MY> are simply copied into PACK### rather
+than MY being a superclass of PACK###.  I don't remember the rationale.
 
-NOTE: ExtUtils::Liblist should be removed from the inheritance hiearchy
+NOTE: L<ExtUtils::Liblist> should be removed from the inheritance hiearchy
 and simply be called as functions.
 
-NOTE: Modules like File::Spec and Exporter have been omitted for clarity.
+NOTE: Modules like L<File::Spec> and L<Exporter> have been omitted for clarity.
 
 
 =head2 The MM_* hierarchy
@@ -632,12 +632,13 @@ NOTE: Modules like File::Spec and Exporter have been omitted for clarity.
                               |    |
                               MM_Any
 
-NOTE: Each direct MM_Unix subclass is also an MM_Any subclass.  This
+NOTE: Each direct L<MM_Unix|ExtUtils::MM_Unix> subclass is also an
+L<MM_Any|ExtUtils::MM_Any> subclass.  This
 is a temporary hack because MM_Unix overrides some MM_Any methods with
 Unix specific code.  It allows the non-Unix modules to see the
 original MM_Any implementations.
 
-NOTE: Modules like File::Spec and Exporter have been omitted for clarity.
+NOTE: Modules like L<File::Spec> and L<Exporter> have been omitted for clarity.
 
 =head1 PATCHING
 
index e6419c6..02dbc41 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MakeMaker::Locale;
 
 use strict;
-our $VERSION = "7.38";
+our $VERSION = "7.40";
 $VERSION =~ tr/_//d;
 
 use base 'Exporter';
index c02220f..035d726 100644 (file)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::Tutorial;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 
index a061cce..fad5809 100644 (file)
@@ -15,7 +15,7 @@ use strict;
 
 use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
 
-$VERSION = '7.38';
+$VERSION = '7.40';
 $VERSION =~ tr/_//d;
 $CLASS = 'version';
 
index ddea7c9..acb77da 100644 (file)
@@ -10,7 +10,7 @@ use strict;
 
 use vars qw($VERSION $CLASS $STRICT $LAX);
 
-$VERSION = '7.38';
+$VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 #--------------------------------------------------------------------------#
index ad22e46..e47b7df 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 = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 require Exporter;
index f0352b2..9368faa 100644 (file)
@@ -10,7 +10,7 @@ use Config;
 
 our @ISA = qw(Exporter);
 our @EXPORT = qw(&Mksymlists);
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 sub Mksymlists {
index 5f36ce6..39ce196 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::testlib;
 use strict;
 use warnings;
 
-our $VERSION = '7.38';
+our $VERSION = '7.40';
 $VERSION =~ tr/_//d;
 
 use Cwd;
index 388bc54..62b291c 100644 (file)
@@ -12,7 +12,7 @@ BEGIN {
         plan skip_all => 'Non-Unix platform';
     }
     else {
-        plan tests => 113;
+        plan tests => 114;
     }
 }
 
@@ -150,8 +150,18 @@ is ($t->has_link_code(),1); is ($t->{HAS_LINK_CODE},1);
 ###############################################################################
 # libscan
 
-is ($t->libscan('Readme.pod'),      '', 'libscan excludes base Readme.pod');
-is ($t->libscan('README.pod'),      '', 'libscan excludes base README.pod');
+{
+    # suppress noisy & unnecessary "WARNING: Older versions of ExtUtils::MakeMaker may errantly install README.pod..."
+    my @warnings = ();
+    local $SIG{__WARN__} = sub { push @warnings, shift; };
+    is ($t->libscan('Readme.pod'),      '', 'libscan excludes base Readme.pod');
+    is ($t->libscan('README.pod'),      '', 'libscan excludes base README.pod');
+    # verify that suppressed warnings are present
+    isnt (scalar(@warnings), 0);
+    if (scalar(@warnings)) {
+        note (sprintf('suppressed warnings: [ "%s" ]', do { my $s = join(q/" , "/, @warnings); $s =~ s/([^[:print:]])/sprintf('\x{%x}', ord($1))/egmsx; $s; }));
+    }
+}
 is ($t->libscan('lib/Foo/README.pod'),      'lib/Foo/README.pod', 'libscan accepts README.pod in a subdirectory');
 is ($t->libscan('foo/RCS/bar'),     '', 'libscan on RCS');
 is ($t->libscan('CVS/bar/car'),     '', 'libscan on CVS');
index 278fd3d..f76c13b 100644 (file)
@@ -7,7 +7,7 @@ BEGIN {
 }
 
 use strict;
-use Test::More tests => 46;
+use Test::More tests => 50;
 
 use File::Spec;
 use File::Temp qw[tempdir];
@@ -44,10 +44,21 @@ ok((my $stdout = tie *STDOUT, 'TieOut'), 'tie stdout');
 
 {
     local $Config{installman3dir} = File::Spec->catdir(qw(t lib));
-    my $mm = WriteMakefile(
-        NAME            => 'Big::Dummy',
-        VERSION_FROM    => 'lib/Big/Dummy.pm',
-    );
+    my $mm;
+    {
+        # suppress noisy & unnecessary "WARNING: Older versions of ExtUtils::MakeMaker may errantly install README.pod..."
+        my @warnings = ();
+        local $SIG{__WARN__} = sub { push @warnings, shift; };
+        $mm = WriteMakefile(
+            NAME            => 'Big::Dummy',
+            VERSION_FROM    => 'lib/Big/Dummy.pm',
+        );
+        # verify that suppressed warnings are present
+        isnt (scalar(@warnings), 0);
+        if (scalar(@warnings)) {
+            note (sprintf('suppressed warnings: [ "%s" ]', do { my $s = join(q/" , "/, @warnings); $s =~ s/([^[:print:]])/sprintf('\x{%x}', ord($1))/egmsx; $s; }));
+        }
+    }
     my %got = %{ $mm->{MAN3PODS} };
     # because value too OS-specific
     my $delete_key = $^O eq 'VMS' ? '[.lib.Big]Dummy.pm' : 'lib/Big/Dummy.pm';
@@ -56,29 +67,62 @@ ok((my $stdout = tie *STDOUT, 'TieOut'), 'tie stdout');
 }
 
 {
-    my $mm = WriteMakefile(
-        NAME            => 'Big::Dummy',
-        VERSION_FROM    => 'lib/Big/Dummy.pm',
-        INSTALLMAN3DIR  => 'none'
-    );
+    my $mm;
+    {
+        # suppress noisy & unnecessary "WARNING: Older versions of ExtUtils::MakeMaker may errantly install README.pod..."
+        my @warnings = ();
+        local $SIG{__WARN__} = sub { push @warnings, shift; };
+        $mm = WriteMakefile(
+            NAME            => 'Big::Dummy',
+            VERSION_FROM    => 'lib/Big/Dummy.pm',
+            INSTALLMAN3DIR  => 'none'
+        );
+        # verify that suppressed warnings are present
+        isnt (scalar(@warnings), 0);
+        if (scalar(@warnings)) {
+            note (sprintf('suppressed warnings: [ "%s" ]', do { my $s = join(q/" , "/, @warnings); $s =~ s/([^[:print:]])/sprintf('\x{%x}', ord($1))/egmsx; $s; }));
+        }
+    }
     is_deeply $mm->{MAN3PODS}, {}, 'suppress man3pod with "none"';
 }
 
 {
-    my $mm = WriteMakefile(
-        NAME            => 'Big::Dummy',
-        VERSION_FROM    => 'lib/Big/Dummy.pm',
-        MAN3PODS        => {}
-    );
+    my $mm;
+    {
+        # suppress noisy & unnecessary "WARNING: Older versions of ExtUtils::MakeMaker may errantly install README.pod..."
+        my @warnings = ();
+        local $SIG{__WARN__} = sub { push @warnings, shift; };
+        $mm = WriteMakefile(
+            NAME            => 'Big::Dummy',
+            VERSION_FROM    => 'lib/Big/Dummy.pm',
+            MAN3PODS        => {}
+        );
+        # verify that suppressed warnings are present
+        isnt (scalar(@warnings), 0);
+        if (scalar(@warnings)) {
+            note (sprintf('suppressed warnings: [ "%s" ]', do { my $s = join(q/" , "/, @warnings); $s =~ s/([^[:print:]])/sprintf('\x{%x}', ord($1))/egmsx; $s; }));
+        }
+    }
     is_deeply $mm->{MAN3PODS}, {}, 'suppress man3pod with {}';
 }
 
 {
-    my $mm = WriteMakefile(
-        NAME            => 'Big::Dummy',
-        VERSION_FROM    => 'lib/Big/Dummy.pm',
-        MAN3PODS        => { "Foo.pm" => "Foo.1" }
-    );
+    my $mm;
+    {
+        # suppress noisy & unnecessary "WARNING: Older versions of ExtUtils::MakeMaker may errantly install README.pod..."
+        my @warnings = ();
+        local $SIG{__WARN__} = sub { push @warnings, shift; };
+        $mm = WriteMakefile(
+            NAME            => 'Big::Dummy',
+            VERSION_FROM    => 'lib/Big/Dummy.pm',
+            MAN3PODS        => { "Foo.pm" => "Foo.1" }
+        );
+        # verify that suppressed warnings are present
+        isnt (scalar(@warnings), 0);
+        if (scalar(@warnings)) {
+            note (sprintf('suppressed warnings: [ "%s" ]', do { my $s = join(q/" , "/, @warnings); $s =~ s/([^[:print:]])/sprintf('\x{%x}', ord($1))/egmsx; $s; }));
+        }
+    }
     is_deeply $mm->{MAN3PODS}, { "Foo.pm" => "Foo.1" }, 'override man3pod';
 }
 
@@ -183,4 +227,3 @@ unlink $README;
             "Set POD2MAN section to \$(MAN3SECTION)";
     }
 }
-
index 6c6ada5..1357a2d 100644 (file)
@@ -127,7 +127,7 @@ 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';
+    skip "Not relevant on VMS or MSWin32", 8 if $^O eq 'VMS' || $^O eq 'MSWin32' || $^O eq 'cygwin';
 
     my $dir = getcwd();
     local $ENV{PATH} = join $Config{path_sep}, map "$dir/$_", qw(usrbin bin);
diff --git a/cpan/ExtUtils-MakeMaker/t/testrules.yml b/cpan/ExtUtils-MakeMaker/t/testrules.yml
new file mode 100644 (file)
index 0000000..97fad8c
--- /dev/null
@@ -0,0 +1,11 @@
+---
+# TAP::Harness test rules
+# "t\02-xsdynamic.t" (and possibly "t\03-xsstatic.t") should *not* be run in parallel
+# ... allowing overlap of these tests causes race conditions which lead to intermittent failures
+seq:
+  - seq:
+    # serialize all tests in files matching "t/0*.t"
+    - t{\\,/}0*.t
+  - par:
+    # run all other tests in parallel
+    - **
index 34652cf..a2bfa63 100644 (file)
@@ -7,6 +7,7 @@ Digest::MD5 cpan/Digest-MD5/Makefile.PL 3bf781444ee671da63f1c6360e0a31f11d9ba520
 Digest::MD5 cpan/Digest-MD5/MD5.pm df5f0663f0f755be7eda6e3d2f008f2629246b19
 Digest::MD5 cpan/Digest-MD5/MD5.xs 249bed648232192ce018f7f894ad127c3a639831
 Digest::MD5 cpan/Digest-MD5/t/files.t e987329d2411ff60ad9a2bdf93fdf5f6943467e8
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 231d7e8db3303dc593350e54572270806a8de687
 Filter::Util::Call pod/perlfilter.pod e9833bf4ebc51087dfee5c553e0f8a5eef67212d
 Locale::Maketext::Simple cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm 57ed38905791a17c150210cd6f42ead22a7707b6
 Math::Complex cpan/Math-Complex/lib/Math/Complex.pm 198ea6c6c584f5ea79a0fd7e9d411d0878f3b2af