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.52
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Wed, 4 Nov 2020 20:34:01 +0000 (20:34 +0000)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Wed, 4 Nov 2020 20:34:01 +0000 (20:34 +0000)
  [DELTA]

7.52    Wed  4 Nov 19:49:43 GMT 2020

    No changes since v7.51_01

7.51_01 Wed  4 Nov 00:01:41 GMT 2020

    Test fixes:
    - prevent MM_Win32::init_tools() warning in core

7.50    Wed 21 Oct 17:33:53 BST 2020

    No changes since v7.49_04

7.49_04 Tue 13 Oct 18:42:05 BST 2020

    Win32 fixes:
    - make can_dep_space check for short path support

    Macosx fixes:
    - Handle XCode 12's implicit adding of Werror=implicit-function-declaration

7.49_03 Fri  9 Oct 21:30:57 BST 2020

    Regression fixes:
    - disable strict when evaling hints files

    Bug fixes:
    - clean up and improve MIN_PERL_VERSION handling

7.49_02 Thu  8 Oct 08:35:05 BST 2020

    Bug fixes:
    - Change wording of MIN_PERL_VERSION format message to clarify
      fatally

    Doc fixes:
    - Fixed some typos

7.49_01 Tue  6 Oct 18:01:38 BST 2020

    Regression fixes:
    - fix PERL_CORE warnings from ExtUtils::CBuilder

37 files changed:
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_OS390.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/echo.t
cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
cpan/ExtUtils-MakeMaker/t/min_perl_version.t

index faab533..14e4cd4 100755 (executable)
@@ -467,7 +467,7 @@ use File::Glob qw(:case);
     },
 
     'ExtUtils::MakeMaker' => {
-        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.48.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.52.tar.gz',
         'FILES'        => q[cpan/ExtUtils-MakeMaker],
         'EXCLUDED'     => [
             qr{^t/lib/Test/},
index 71746af..6bbe48f 100644 (file)
@@ -8,7 +8,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.48';
+$VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 my $Is_VMS   = $^O eq 'VMS';
index d5658e3..9aa734f 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.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 my $Is_VMS = $^O eq 'VMS';
index 168d3d2..4e7435f 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::Liblist;
 use strict;
 use warnings;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 use File::Spec;
index c10a789..196abfc 100644 (file)
@@ -11,7 +11,7 @@ use 5.006;
 
 use strict;
 use warnings;
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 use ExtUtils::MakeMaker::Config;
index 32dff4b..37952fc 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use warnings;
 use ExtUtils::MakeMaker::Config;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::Liblist;
index de9ba6e..b469bb2 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_AIX;
 
 use strict;
 use warnings;
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 use ExtUtils::MakeMaker::Config;
index 16b706a..9fbdc79 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_Any;
 
 use strict;
 use warnings;
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 use Carp;
index d0af6fc..09b1163 100644 (file)
@@ -27,7 +27,7 @@ require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
 
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 
index 208aa7a..4279006 100644 (file)
@@ -10,7 +10,7 @@ require ExtUtils::MM_Unix;
 require ExtUtils::MM_Win32;
 our @ISA = qw( ExtUtils::MM_Unix );
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 
index 2890930..9b078b5 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::MM_DOS;
 use strict;
 use warnings;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
index 2cd2321..e906c24 100644 (file)
@@ -8,7 +8,7 @@ BEGIN {
     our @ISA = qw( ExtUtils::MM_Unix );
 }
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 
@@ -46,4 +46,18 @@ sub init_dist {
     $self->SUPER::init_dist(@_);
 }
 
+=head3 cflags
+
+Over-ride Apple's automatic setting of -Werror
+
+=cut
+
+sub cflags {
+    my $self = shift;
+
+    $self->{CCFLAGS} .= ($self->{CCFLAGS} ? ' ' : '').'-Wno-error=implicit-function-declaration';
+
+    $self->SUPER::cflags(@_);
+}
+
 1;
index 2dc3585..c224cd9 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::MM_MacOS;
 use strict;
 use warnings;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 sub new {
index 2a1dc81..f352ed4 100644 (file)
@@ -23,7 +23,7 @@ use warnings;
 use ExtUtils::MakeMaker::Config;
 use File::Basename;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Win32;
index b775196..f16d4bf 100644 (file)
@@ -6,7 +6,7 @@ use warnings;
 use ExtUtils::MakeMaker qw(neatvalue);
 use File::Spec;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
index ac0156c..d80cd8a 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_OS390;
 
 use strict;
 use warnings;
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 use ExtUtils::MakeMaker::Config;
index fc74b66..70f0197 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_QNX;
 
 use strict;
 use warnings;
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Unix;
index db1ecd6..ca0b482 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_UWIN;
 
 use strict;
 use warnings;
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Unix;
index c2d5dfb..c24fb3e 100644 (file)
@@ -15,7 +15,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue _sprintf562);
 
 # If we make $VERSION an our variable parse_version() breaks
 use vars qw($VERSION);
-$VERSION = '7.48';
+$VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
index fc9eba4..b4d6128 100644 (file)
@@ -16,7 +16,7 @@ BEGIN {
 
 use File::Basename;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
index b188296..277850a 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_VOS;
 
 use strict;
 use warnings;
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Unix;
index 55f5022..7597f22 100644 (file)
@@ -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.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 $ENV{EMXSHELL} = 'sh'; # to run `commands`
@@ -395,8 +395,15 @@ sub perl_script {
 }
 
 sub can_dep_space {
-    my $self = shift;
-    1; # with Win32::GetShortPathName
+    my ($self) = @_;
+    return 0 unless $self->can_load_xs;
+    require Win32;
+    require File::Spec;
+    my ($vol, $dir) = File::Spec->splitpath($INC{'ExtUtils/MakeMaker.pm'});
+    # can_dep_space via GetShortPathName, if short paths are supported
+    my $canary = Win32::GetShortPathName(File::Spec->catpath($vol, $dir, 'MakeMaker.pm'));
+    (undef, undef, my $file) = File::Spec->splitpath($canary);
+    return (length $file > 11) ? 0 : 1;
 }
 
 =item quote_dep
index b3acb2a..d43eb51 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::MM_Win95;
 use strict;
 use warnings;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Win32;
index 14d0709..5aec641 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::MY;
 use strict;
 require ExtUtils::MM;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 our @ISA = qw(ExtUtils::MM);
 
index 470fc59..4309b84 100644 (file)
@@ -25,7 +25,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.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 # Emulate something resembling CVS $Revision$
@@ -511,50 +511,43 @@ sub new {
 
     check_hints($self);
 
-    if ( defined $self->{MIN_PERL_VERSION}
-          && $self->{MIN_PERL_VERSION} !~ /^v?[\d_\.]+$/ ) {
-      require version;
-      my $normal = eval {
-        local $SIG{__WARN__} = sub {
-            # simulate "use warnings FATAL => 'all'" for vintage perls
-            die @_;
-        };
-        version->new( $self->{MIN_PERL_VERSION} )
-      };
-      $self->{MIN_PERL_VERSION} = $normal if defined $normal && !$@;
-    }
-
-    # Translate X.Y.Z to X.00Y00Z
-    if( defined $self->{MIN_PERL_VERSION} ) {
-        $self->{MIN_PERL_VERSION} =~ s{ ^v? (\d+) \. (\d+) \. (\d+) $ }
-                                      {sprintf "%d.%03d%03d", $1, $2, $3}ex;
-    }
+    if ( $self->{MIN_PERL_VERSION}) {
+        my $perl_version = $self->{MIN_PERL_VERSION};
+        if (ref $perl_version) {
+            # assume a version object
+        }
+        else {
+            $perl_version = eval {
+                local $SIG{__WARN__} = sub {
+                    # simulate "use warnings FATAL => 'all'" for vintage perls
+                    die @_;
+                };
+                version->new( $perl_version )->numify;
+            };
+            $perl_version =~ tr/_//d
+                if defined $perl_version;
+        }
 
-    my $perl_version_ok = eval {
-        local $SIG{__WARN__} = sub {
-            # simulate "use warnings FATAL => 'all'" for vintage perls
-            die @_;
-        };
-        !$self->{MIN_PERL_VERSION} or $self->{MIN_PERL_VERSION} <= "$]"
-    };
-    if (!$perl_version_ok) {
-        if (!defined $perl_version_ok) {
-            die <<'END';
-Warning: MIN_PERL_VERSION is not in a recognized format.
+        if (!defined $perl_version) {
+            # should this be a warning?
+            die sprintf <<'END', $self->{MIN_PERL_VERSION};
+MakeMaker FATAL: MIN_PERL_VERSION (%s) is not in a recognized format.
 Recommended is a quoted numerical value like '5.005' or '5.008001'.
 END
         }
-        elsif ($self->{PREREQ_FATAL}) {
-            die sprintf <<"END", $self->{MIN_PERL_VERSION}, $];
-MakeMaker FATAL: perl version too low for this distribution.
-Required is %s. We run %s.
+        elsif ($perl_version > "$]") {
+            my $message = sprintf <<'END', $perl_version, $];
+Perl version %s or higher required. We run %s.
 END
+            if ($self->{PREREQ_FATAL}) {
+                die "MakeMaker FATAL: $message";
+            }
+            else {
+                warn "Warning: $message";
+            }
         }
-        else {
-            warn sprintf
-                "Warning: Perl version %s or higher required. We run %s.\n",
-                $self->{MIN_PERL_VERSION}, $];
-        }
+
+        $self->{MIN_PERL_VERSION} = $perl_version;
     }
 
     my %configure_att;         # record &{$self->{CONFIGURE}} attributes
@@ -1160,10 +1153,10 @@ sub _run_hintfile {
     local($@, $!);
     print "Processing hints file $hint_file\n" if $Verbose;
 
-    # Just in case the ./ isn't on the hint file, which File::Spec can
-    # often strip off, we bung the curdir into @INC
     if(open(my $fh, '<', $hint_file)) {
-        eval join('', <$fh>);
+        my $hints_content = do { local $/; <$fh> };
+        no strict;
+        eval $hints_content;
         warn "Failed to run hint file $hint_file: $@" if $@;
     }
     else {
@@ -2976,7 +2969,7 @@ that purpose.
 
 =item XSPROTOARG
 
-May be set to C<-protoypes>, C<-noprototypes> or the empty string.  The
+May be set to C<-prototypes>, C<-noprototypes> or the empty string.  The
 empty string is equivalent to the xsubpp default, or C<-noprototypes>.
 See the xsubpp documentation for details.  MakeMaker
 defaults to the empty string.
index 0265645..f1aca0f 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::MakeMaker::Config;
 use strict;
 use warnings;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 use Config ();
index 237f1d5..c276936 100644 (file)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::FAQ;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 1;
index dc0e5ad..000e75d 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Locale;
 
 use strict;
 use warnings;
-our $VERSION = "7.48";
+our $VERSION = "7.52";
 $VERSION =~ tr/_//d;
 
 use base 'Exporter';
index a396b1f..5023b93 100644 (file)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::Tutorial;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 
index 720a0a4..174058e 100644 (file)
@@ -16,7 +16,7 @@ use warnings;
 
 use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
 
-$VERSION = '7.48';
+$VERSION = '7.52';
 $VERSION =~ tr/_//d;
 $CLASS = 'version';
 
index ada8c8b..8445bd1 100644 (file)
@@ -11,7 +11,7 @@ use warnings;
 
 use vars qw($VERSION $CLASS $STRICT $LAX);
 
-$VERSION = '7.48';
+$VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 #--------------------------------------------------------------------------#
index 1e084e9..8af07f8 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::Mkbootstrap;
 use strict;
 use warnings;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 require Exporter;
index 8e12925..6ff186a 100644 (file)
@@ -11,7 +11,7 @@ use Config;
 
 our @ISA = qw(Exporter);
 our @EXPORT = qw(&Mksymlists);
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 sub Mksymlists {
index eee8391..72ae8d7 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::testlib;
 use strict;
 use warnings;
 
-our $VERSION = '7.48';
+our $VERSION = '7.52';
 $VERSION =~ tr/_//d;
 
 use Cwd;
index 872c2b1..087e391 100644 (file)
@@ -25,7 +25,7 @@ use Test::More
 my $cwd  = abs_path;
 my $perl = which_perl;
 my $make = make_run();
-my $mm = bless { NAME => "Foo", MAKE => $Config{make}, PARENT_NAME => '' }, "MM";
+my $mm = bless { NAME => "Foo", MAKE => $Config{make}, PARENT_NAME => '', PERL_SRC => '' }, "MM";
 $mm->init_INST;   # *PERLRUN needs INIT_*
 $mm->init_PERL;   # generic ECHO needs ABSPERLRUN
 $mm->init_tools;  # need ECHO
index eedf85b..e869231 100644 (file)
@@ -359,6 +359,8 @@ Returns true if there is a compiler available for XS builds.
 =cut
 
 sub have_compiler {
+    return 1 if $ENV{PERL_CORE};
+
     my $have_compiler = 0;
 
     in_dir(sub {
index 8c8f801..cb138fc 100644 (file)
@@ -63,6 +63,7 @@ chdir 't';
 
 perl_lib();
 
+rmtree($DIRNAME);
 hash2files($DIRNAME, \%FILES);
 END {
     ok( chdir(File::Spec->updir), 'leaving dir' );
@@ -132,7 +133,7 @@ note "Argument verification"; {
     };
     ok( '' ne $warnings, 'MIN_PERL_VERSION=999999 triggers a warning' );
     is( $warnings,
-        "Warning: Perl version 999999 or higher required. We run $].\n",
+        "Warning: Perl version 999999.000 or higher required. We run $].\n",
                          '  with expected message text' );
     is( $@, '',          '  and without a hard failure' );
 
@@ -146,8 +147,7 @@ note "Argument verification"; {
     };
     is( $warnings, '', 'MIN_PERL_VERSION=999999 and PREREQ_FATAL: no warning' );
     is( $@, <<"END",   '  correct exception' );
-MakeMaker FATAL: perl version too low for this distribution.
-Required is 999999. We run $].
+MakeMaker FATAL: Perl version 999999.000 or higher required. We run $].
 END
 
     $warnings = '';
@@ -158,7 +158,7 @@ END
         );
     };
     is( $@, <<'END', 'Invalid MIN_PERL_VERSION is fatal' );
-Warning: MIN_PERL_VERSION is not in a recognized format.
+MakeMaker FATAL: MIN_PERL_VERSION (foobar) is not in a recognized format.
 Recommended is a quoted numerical value like '5.005' or '5.008001'.
 END