diff options
author | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2018-02-17 10:42:32 +0000 |
---|---|---|
committer | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2018-02-17 10:42:32 +0000 |
commit | 09a7143acf21dfa32d1eb4baef619ceb18c46d1f (patch) | |
tree | 921c6593642b8902530cbd8c3637ec68f73e7a6b /cpan | |
parent | 89829bb5b54b0a41bc51d5485dbcc7877db662fa (diff) | |
download | perl-09a7143acf21dfa32d1eb4baef619ceb18c46d1f.tar.gz |
Update ExtUtils-MakeMaker to CPAN version 7.32
[DELTA]
7.32 Fri Feb 16 20:10:58 GMT 2018
No changes since v7.31_08
7.31_08 Mon Feb 12 12:19:11 GMT 2018
VMS fixes:
- Fix 8-space line prefixes in MM_VMS.pm
7.31_07 Tue Jan 16 16:09:04 GMT 2018
Bug fixes:
- Change warning text for libscan() README.pod
7.31_06 Tue Jan 16 10:28:11 GMT 2018
Bug fixes:
- Teach libscan() to exclude README.pod
Doc fixes:
- Documented when XSMULTI and XSBUILD are available
- Documented more version requirements for attributes
7.31_05 Sat Nov 25 09:22:51 GMT 2017 (LPW Edition)
Doc fixes:
- Spelling fixes
- clarify behaviour if VENDORLIB and no VENDORARCH
7.31_04 Thu Oct 5 12:22:24 BST 2017
Darwin/NeXT fixes:
- Escape ld -framework flags
7.31_03 Mon Jul 10 09:34:26 BST 2017
Bug fixes:
- Filter out non-XS .a files for static builds
7.31_02 Mon Jun 26 13:53:15 BST 2017
VMS fixes:
- Fixes for .PL tests
- VMS override for static_lib_pure_cmd
- Make the new subdirsstatic test portable
7.31_01 Wed Jun 14 15:57:52 BST 2017
Test fixes:
- Skip static test unless in perl core or in a .git directory
Diffstat (limited to 'cpan')
37 files changed, 242 insertions, 120 deletions
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm index 05752e78cb..3eaa30a0e5 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm @@ -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.30'; +$VERSION = '7.32'; $VERSION = eval $VERSION; my $Is_VMS = $^O eq 'VMS'; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm index be1eda5ab1..6463d9965b 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm @@ -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.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; my $Is_VMS = $^O eq 'VMS'; @@ -205,7 +205,7 @@ Key/value pairs are extra information about the module. Fields include: installed into which directory your module was out into LINKTYPE dynamic or static linking VERSION module version number - EXE_FILES any executables installed in a space seperated + EXE_FILES any executables installed in a space separated list =cut diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm index 15eed3c521..8fc0ed176a 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; use File::Spec; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm index c3e097e77f..92e73ed8f5 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; use ExtUtils::MakeMaker::Config; @@ -57,6 +57,11 @@ sub _unix_os2_ext { my ( $pwd ) = cwd(); # from Cwd.pm my ( $found ) = 0; + if ( $^O eq 'darwin' or $^O eq 'next' ) { + # 'escape' Mach-O ld -framework flags, so they aren't dropped later on + $potential_libs =~ s/(^|\s)(-(?:weak_|reexport_|lazy_)?framework)\s+(\S+)/$1-Wl,$2 -Wl,$3/g; + } + foreach my $thislib ( split ' ', $potential_libs ) { my ( $custom_name ) = ''; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm index b428153a3a..3a6d1d83ec 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; require ExtUtils::Liblist; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm index 4ff2802f64..70eb653fec 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; use ExtUtils::MakeMaker::Config; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm index 2bcb4abd69..bf403ab5c4 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; use Carp; @@ -2899,13 +2899,19 @@ Takes a path to a file or dir and returns an empty string if we don't want to include this file in the library. Otherwise it returns the the $path unchanged. -Mainly used to exclude version control administrative directories from -installation. +Mainly used to exclude version control administrative directories +and base-level F<README.pod> from installation. =cut 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"; + return ''; + } + my($dirs,$file) = ($self->splitpath($path))[1,2]; return '' if grep /^(?:RCS|CVS|SCCS|\.svn|_darcs)$/, $self->splitdir($dirs), $file; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm index f9ea3726b0..03889707d3 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm index b4535c6969..ab660619c2 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm index 5c882b5a98..63abe91972 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; require ExtUtils::MM_Any; @@ -51,6 +51,14 @@ sub replace_manpage_separator { return $man; } +=item xs_static_lib_is_xs + +=cut + +sub xs_static_lib_is_xs { + return 1; +} + =back =head1 AUTHOR diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm index 0231a2d0a8..7257d9d731 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; @@ -24,7 +24,7 @@ ExtUtils::MM_Darwin - special behaviors for OS X See L<ExtUtils::MM_Unix> for L<ExtUtils::MM_Any> for documentation on the methods overridden here. -=head2 Overriden Methods +=head2 Overridden Methods =head3 init_dist diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm index ff843c7fde..872cb8fa27 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; sub new { diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm index 911decaa41..8ee44ef4e2 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; require ExtUtils::MM_Win32; @@ -137,6 +137,14 @@ sub static_lib_pure_cmd { : '-type library -o $@ ' . $src)); } +=item xs_static_lib_is_xs + +=cut + +sub xs_static_lib_is_xs { + return 1; +} + =item dynamic_lib Override of utility methods for OS-specific work. diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm index 691a366a2c..8801e6b359 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; require ExtUtils::MM_Any; @@ -131,6 +131,14 @@ sub os_flavor { return('OS/2'); } +=item xs_static_lib_is_xs + +=cut + +sub xs_static_lib_is_xs { + return 1; +} + =back =cut diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm index 25e4d94f01..3af0df3451 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; require ExtUtils::MM_Unix; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm index 6b40ed8e18..e231c0708d 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; require ExtUtils::MM_Unix; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm index 6233513368..e902e8ed97 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm @@ -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.30'; +$VERSION = '7.32'; $VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval] require ExtUtils::MM_Any; @@ -2530,78 +2530,13 @@ $(MAKE_APERL_FILE) : static $(FIRST_MAKEFILE) pm_to_blib $linkcmd =~ s,(perl\.exp),\$(PERL_INC)/$1,; # Which *.a files could we make use of... - my %static; - require File::Find; - # don't use File::Spec here because on Win32 F::F still uses "/" - my $installed_version = join('/', - 'auto', $self->{FULLEXT}, "$self->{BASEEXT}$self->{LIB_EXT}" - ); - File::Find::find(sub { - if ($File::Find::name =~ m{/auto/share\z}) { - # in a subdir of auto/share, prune because e.g. - # Alien::pkgconfig uses File::ShareDir to put .a files - # there. do not want - $File::Find::prune = 1; - return; - } - - return unless m/\Q$self->{LIB_EXT}\E$/; - - return unless -f 'extralibs.ld'; # this checks is a "proper" XS installation - - # Skip perl's libraries. - return if m/^libperl/ or m/^perl\Q$self->{LIB_EXT}\E$/; - - # Skip purified versions of libraries - # (e.g., DynaLoader_pure_p1_c0_032.a) - return if m/_pure_\w+_\w+_\w+\.\w+$/ and -f "$File::Find::dir/.pure"; - - if( exists $self->{INCLUDE_EXT} ){ - my $found = 0; - - (my $xx = $File::Find::name) =~ s,.*?/auto/,,s; - $xx =~ s,/?$_,,; - $xx =~ s,/,::,g; - - # Throw away anything not explicitly marked for inclusion. - # DynaLoader is implied. - foreach my $incl ((@{$self->{INCLUDE_EXT}},'DynaLoader')){ - if( $xx eq $incl ){ - $found++; - last; - } - } - return unless $found; - } - elsif( exists $self->{EXCLUDE_EXT} ){ - (my $xx = $File::Find::name) =~ s,.*?/auto/,,s; - $xx =~ s,/?$_,,; - $xx =~ s,/,::,g; - - # Throw away anything explicitly marked for exclusion - foreach my $excl (@{$self->{EXCLUDE_EXT}}){ - return if( $xx eq $excl ); - } - } - - # don't include the installed version of this extension. I - # leave this line here, although it is not necessary anymore: - # I patched minimod.PL instead, so that Miniperl.pm won't - # include duplicates - - # Once the patch to minimod.PL is in the distribution, I can - # drop it - return if $File::Find::name =~ m:\Q$installed_version\E\z:; - use Cwd 'cwd'; - $static{cwd() . "/" . $_}++; - }, grep( -d $_, map { $self->catdir($_, 'auto') } @{$searchdirs || []}) ); - + my $staticlib21 = $self->_find_static_libs($searchdirs); # We trust that what has been handed in as argument, will be buildable $static = [] unless $static; - @static{@{$static}} = (1) x @{$static}; + @$staticlib21{@{$static}} = (1) x @{$static}; $extra = [] unless $extra && ref $extra eq 'ARRAY'; - for (sort keys %static) { + for (sort keys %$staticlib21) { next unless /\Q$self->{LIB_EXT}\E\z/; $_ = dirname($_) . "/extralibs.ld"; push @$extra, $_; @@ -2615,7 +2550,7 @@ $(MAKE_APERL_FILE) : static $(FIRST_MAKEFILE) pm_to_blib # MAP_STATIC doesn't look into subdirs yet. Once "all" is made and we # regenerate the Makefiles, MAP_STATIC and the dependencies for # extralibs.all are computed correctly - my @map_static = reverse sort keys %static; + my @map_static = reverse sort keys %$staticlib21; push @m, " MAP_LINKCMD = $linkcmd MAP_STATIC = ", join(" \\\n\t", map { qq{"$_"} } @map_static), " @@ -2727,6 +2662,92 @@ map_clean : join '', @m; } +# utility method +sub _find_static_libs { + my ($self, $searchdirs) = @_; + # don't use File::Spec here because on Win32 F::F still uses "/" + my $installed_version = join('/', + 'auto', $self->{FULLEXT}, "$self->{BASEEXT}$self->{LIB_EXT}" + ); + my %staticlib21; + require File::Find; + File::Find::find(sub { + if ($File::Find::name =~ m{/auto/share\z}) { + # in a subdir of auto/share, prune because e.g. + # Alien::pkgconfig uses File::ShareDir to put .a files + # there. do not want + $File::Find::prune = 1; + return; + } + + return unless m/\Q$self->{LIB_EXT}\E$/; + + return unless -f 'extralibs.ld'; # this checks is a "proper" XS installation + + # Skip perl's libraries. + return if m/^libperl/ or m/^perl\Q$self->{LIB_EXT}\E$/; + + # Skip purified versions of libraries + # (e.g., DynaLoader_pure_p1_c0_032.a) + return if m/_pure_\w+_\w+_\w+\.\w+$/ and -f "$File::Find::dir/.pure"; + + if( exists $self->{INCLUDE_EXT} ){ + my $found = 0; + + (my $xx = $File::Find::name) =~ s,.*?/auto/,,s; + $xx =~ s,/?$_,,; + $xx =~ s,/,::,g; + + # Throw away anything not explicitly marked for inclusion. + # DynaLoader is implied. + foreach my $incl ((@{$self->{INCLUDE_EXT}},'DynaLoader')){ + if( $xx eq $incl ){ + $found++; + last; + } + } + return unless $found; + } + elsif( exists $self->{EXCLUDE_EXT} ){ + (my $xx = $File::Find::name) =~ s,.*?/auto/,,s; + $xx =~ s,/?$_,,; + $xx =~ s,/,::,g; + + # Throw away anything explicitly marked for exclusion + foreach my $excl (@{$self->{EXCLUDE_EXT}}){ + return if( $xx eq $excl ); + } + } + + # don't include the installed version of this extension. I + # leave this line here, although it is not necessary anymore: + # I patched minimod.PL instead, so that Miniperl.pm won't + # include duplicates + + # Once the patch to minimod.PL is in the distribution, I can + # drop it + return if $File::Find::name =~ m:\Q$installed_version\E\z:; + return if !$self->xs_static_lib_is_xs($_); + use Cwd 'cwd'; + $staticlib21{cwd() . "/" . $_}++; + }, grep( -d $_, map { $self->catdir($_, 'auto') } @{$searchdirs || []}) ); + return \%staticlib21; +} + +=item xs_static_lib_is_xs (o) + +Called by a utility method of makeaperl. Checks whether a given file +is an XS library by seeing whether it defines any symbols starting +with C<boot_>. + +=cut + +sub xs_static_lib_is_xs { + my ($self, $libfile) = @_; + my $devnull = File::Spec->devnull; + return `nm $libfile 2>$devnull` =~ /\bboot_/; +} + =item makefile (o) Defines how to rewrite the Makefile. diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm index 609423b424..901f86a00a 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; require ExtUtils::MM_Any; @@ -1242,6 +1242,29 @@ sub xs_make_static_lib { } +=item static_lib_pure_cmd (override) + +Use VMS commands to manipulate object library. + +=cut + +sub static_lib_pure_cmd { + my ($self, $from) = @_; + + sprintf <<'MAKE_FRAG', $from; + If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET) + Library/Object/Replace $(MMS$TARGET) %s +MAKE_FRAG +} + +=item xs_static_lib_is_xs + +=cut + +sub xs_static_lib_is_xs { + return 1; +} + =item extra_clean_files Clean up some OS specific files. Plus the temp file used to shorten @@ -1286,7 +1309,7 @@ sub tarfile_target { $(DISTVNAME).tar$(SUFFIX) : distdir $(PREOP) $(TO_UNIX) - $(TAR) "$(TARFLAGS)" $(DISTVNAME).tar [.$(DISTVNAME)...] + $(TAR) "$(TARFLAGS)" $(DISTVNAME).tar [.$(DISTVNAME)...] $(RM_RF) $(DISTVNAME) $(COMPRESS) $(DISTVNAME).tar $(POSTOP) @@ -1336,7 +1359,7 @@ pure_install :: pure_$(INSTALLDIRS)_install $(NOECHO) $(NOOP) doc_install :: doc_$(INSTALLDIRS)_install - $(NOECHO) $(NOOP) + $(NOECHO) $(NOOP) pure__install : pure_site_install $(NOECHO) $(ECHO) "INSTALLDIRS not defined, defaulting to INSTALLDIRS=site" diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm index 86775c6f41..3e572bf8c3 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; require ExtUtils::MM_Unix; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm index 815871db11..cb9dc9a132 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 _sprintf562); require ExtUtils::MM_Any; require ExtUtils::MM_Unix; our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -our $VERSION = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; $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 1fd2959d4a..22203b0933 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; require ExtUtils::MM_Win32; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm index a671c08f29..0e6d4e8fcf 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; our @ISA = qw(ExtUtils::MM); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm index 3d4913eb59..6de9c0a2f4 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm @@ -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.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval] # Emulate something resembling CVS $Revision$ @@ -1817,7 +1817,7 @@ located in the C<x86> directory relative to the PPD itself. =item BUILD_REQUIRES -Available in version 6.5503 and above. +Available in version 6.55_03 and above. A hash of modules that are needed to build your module but not run it. @@ -2069,6 +2069,8 @@ Defaults to $Config{installprivlib}. =item INSTALLSCRIPT +Available in version 6.30_02 and above. + Used by 'make install' which copies files from INST_SCRIPT to this directory if INSTALLDIRS=perl. @@ -2105,7 +2107,9 @@ directory if INSTALLDIRS is set to site (default). =item INSTALLVENDORARCH Used by 'make install', which copies files from INST_ARCHLIB to this -directory if INSTALLDIRS is set to vendor. +directory if INSTALLDIRS is set to vendor. Note that if you do not set +this, the value of INSTALLVENDORLIB will be used, which is probably not +what you want. =item INSTALLVENDORBIN @@ -2128,6 +2132,8 @@ If set to 'none', no man pages will be installed. =item INSTALLVENDORSCRIPT +Available in version 6.30_02 and above. + Used by 'make install' which copies files from INST_SCRIPT to this directory if INSTALLDIRS is set to vendor. @@ -2233,11 +2239,15 @@ linkext below). =item MAGICXS +Available in version 6.8305 and above. + When this is set to C<1>, C<OBJECT> will be automagically derived from C<O_FILES>. =item MAKE +Available in version 6.30_01 and above. + Variant of make you intend to run the generated Makefile with. This parameter lets Makefile.PL know what make quirks to account for when generating the Makefile. @@ -2409,6 +2419,8 @@ Defaults to false. =item NO_MYMETA +Available in version 6.57_02 and above. + When true, suppresses the generation of MYMETA.yml and MYMETA.json module meta-data files during 'perl Makefile.PL'. @@ -2416,12 +2428,16 @@ Defaults to false. =item NO_PACKLIST +Available in version 6.7501 and above. + When true, suppresses the writing of C<packlist> files for installs. Defaults to false. =item NO_PERLLOCAL +Available in version 6.7501 and above. + When true, suppresses the appending of installations to C<perllocal>. Defaults to false. @@ -2539,6 +2555,8 @@ avoided, it may be undefined) =item PERM_DIR +Available in version 6.51_01 and above. + Desired permission for directories. Defaults to C<755>. =item PERM_RW @@ -2660,10 +2678,14 @@ the installation of a package. =item PPM_UNINSTALL_EXEC +Available in version 6.8502 and above. + Name of the executable used to run C<PPM_UNINSTALL_SCRIPT> below. (e.g. perl) =item PPM_UNINSTALL_SCRIPT +Available in version 6.8502 and above. + Name of the script that gets executed by the Perl Package Manager before the removal of a package. @@ -2761,6 +2783,8 @@ Overridable by PREFIX =item SIGN +Available in version 6.18 and above. + When true, perform the generation and addition to the MANIFEST of the SIGNATURE file in the distdir during 'make distdir', via 'cpansign -s'. @@ -2881,6 +2905,8 @@ deleted by a make clean. =item XSBUILD +Available in version 7.12 and above. + Hashref with options controlling the operation of C<XSMULTI>: { @@ -2913,6 +2939,8 @@ C<$(OBJ_EXT)> appended. =item XSMULTI +Available in version 7.12 and above. + When this is set to C<1>, multiple XS files may be placed under F<lib/> next to their corresponding C<*.pm> files (this is essential for compiling with the correct C<VERSION> values). This feature should be considered diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm index 1246b0e649..40fae2b512 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; use Config (); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod index fdbce6ed27..60ccd616d3 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; 1; @@ -613,7 +613,7 @@ ExtUtils::Makemaker, 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: ExtUtils::Liblist should be removed from the inheritence hiearchy +NOTE: 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. diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm index 49f85c7912..88d6738640 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm @@ -1,7 +1,7 @@ package ExtUtils::MakeMaker::Locale; use strict; -our $VERSION = "7.30"; +our $VERSION = "7.32"; $VERSION = eval $VERSION; use base 'Exporter'; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod index b308546b5e..cad711d486 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; @@ -128,7 +128,7 @@ You would use the following C<test> directive: test => {TESTS => 't/*.t t/*/*/*.t'} Note that in the above example, tests in the first subdirectory will not be -run. To run all tests in the intermediary subdirectory preceeding the one +run. To run all tests in the intermediary subdirectory preceding the one the test files are in, you need to explicitly note it: test => {TESTS => 't/*.t t/*/*.t t/*/*/*.t'} diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm index e258bda3cc..b3469d2d94 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm @@ -15,7 +15,7 @@ use strict; use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv); -$VERSION = '7.30'; +$VERSION = '7.32'; $VERSION = eval $VERSION; $CLASS = 'version'; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm index ae1915e1eb..6335c1ca4e 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm @@ -10,7 +10,7 @@ use strict; use vars qw($VERSION $CLASS $STRICT $LAX); -$VERSION = '7.30'; +$VERSION = '7.32'; $VERSION = eval $VERSION; #--------------------------------------------------------------------------# diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm index a9d5df14c6..20b16c1ca9 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; require Exporter; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm index 26dddc24e2..16d805d246 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; sub Mksymlists { diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm index 29d05d5dfe..4a09c1eb51 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 = '7.30'; +our $VERSION = '7.32'; $VERSION = eval $VERSION; use Cwd; diff --git a/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t b/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t index 8e18ab31fb..f27ad7e006 100644 --- a/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t +++ b/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t @@ -3,10 +3,15 @@ use strict; use warnings; use Config; + +my $release; + BEGIN { + $release = ( -d '.git' ? 1 : 0 ); chdir 't' or die "chdir(t): $!\n"; unshift @INC, 'lib/'; } + use MakeMaker::Test::Utils; use MakeMaker::Test::Setup::XS; use Test::More; @@ -15,6 +20,7 @@ plan skip_all => "ExtUtils::CBuilder not installed or couldn't find a compiler" unless have_compiler(); plan skip_all => 'Shared perl library' if $Config{useshrplib} eq 'true'; plan skip_all => $^O if $^O =~ m!^(MSWin32|cygwin|haiku)$!; +plan skip_all => 'Skipped when not PERL_CORE or in git repo' unless $ENV{PERL_CORE} or $release; my @tests = list_static(); plan skip_all => "No tests" unless @tests; plan tests => 6 * @tests; diff --git a/cpan/ExtUtils-MakeMaker/t/MM_Unix.t b/cpan/ExtUtils-MakeMaker/t/MM_Unix.t index 9a8d18f395..388bc545cd 100644 --- a/cpan/ExtUtils-MakeMaker/t/MM_Unix.t +++ b/cpan/ExtUtils-MakeMaker/t/MM_Unix.t @@ -12,7 +12,7 @@ BEGIN { plan skip_all => 'Non-Unix platform'; } else { - plan tests => 110; + plan tests => 113; } } @@ -150,6 +150,9 @@ 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'); +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'); is ($t->libscan('SCCS'), '', 'libscan on SCCS'); diff --git a/cpan/ExtUtils-MakeMaker/t/basic.t b/cpan/ExtUtils-MakeMaker/t/basic.t index 41ecd99b15..534bf219f6 100644 --- a/cpan/ExtUtils-MakeMaker/t/basic.t +++ b/cpan/ExtUtils-MakeMaker/t/basic.t @@ -367,7 +367,7 @@ note "META file validity"; SKIP: { "MANIFEST has META.yml" ); is( $manifest->{'meta.json'}, 'Module JSON meta-data (added by MakeMaker)', - "MANFIEST has META.json" + "MANIFEST has META.json" ); # Test NO_META META.yml suppression @@ -441,6 +441,7 @@ note "META file validity"; SKIP: { # Make sure init_dirscan doesn't go into the distdir # also with a "messup.PL" that will make a build fail open $fh, '>', 'messup.PL' or die "messup.PL: $!"; +print $fh 'print "Extracting messup (with variable substitutions)\n";' . "\n"; print $fh 'die'; close $fh; @mpl_out = run(qq{$perl Makefile.PL "PREFIX=$DUMMYINST"}); diff --git a/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm b/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm index eb990746c0..3d1f57e6bd 100644 --- a/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm +++ b/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm @@ -151,6 +151,9 @@ $label2files{static} = +{ ), "blib/arch/auto/share/dist/x-y/libwhatevs$MM->{LIB_EXT}" => 'hi there', # mimic what File::ShareDir can do "blib/arch/auto/Alien/ROOT/root/lib/root/root$MM->{LIB_EXT}" => 'hi there', # mimic Alien::ROOT that installs a .a without extralibs.ld + # next two mimic dist that installs a .a WITH extralibs.ld but that is still not XS + "blib/arch/auto/Dist/File$MM->{LIB_EXT}" => 'hi there', + "blib/arch/auto/Dist/extralibs.ld" => '', }; $label2files{subdirs} = +{ @@ -215,20 +218,22 @@ $label2files{subdirsstatic} = +{ }; # to mimic behaviour of CGI-Deurl-XS version 0.08 +my $OTHERMAKEFILE = File::Spec->catfile('Other', makefile_name()); $label2files{subdirsskip} = +{ %{ $label2files{subdirscomplex} }, # make copy 'Makefile.PL' => sprintf( $MAKEFILEPL, 'Test', 'Test.pm', qq{}, - <<'EOF', -MYEXTLIB => 'Other$(DIRFILESEP)libparser$(LIB_EXT)', -EOF - ) . <<'EOF', + q[ +MYEXTLIB => '] . File::Spec->catfile('Other', 'libparser$(LIB_EXT)') . q[', + ] + ) + . q[ sub MY::postamble { my ($self) = @_; - return '$(MYEXTLIB) : Other$(DIRFILESEP)Makefile'."\n\t".$self->cd('Other', '$(MAKE) $(PASSTHRU)')."\n"; + return '$(MYEXTLIB) : ] . $OTHERMAKEFILE . q['."\n\t".$self->cd('Other', '$(MAKE) $(PASSTHRU)')."\n"; } -EOF + ], 'Other/Makefile.PL' => sprintf( $MAKEFILEPL, 'Other', 'Other.pm', qq{}, diff --git a/cpan/ExtUtils-MakeMaker/t/parse_version.t b/cpan/ExtUtils-MakeMaker/t/parse_version.t index 0e6a842970..2dbd064c03 100644 --- a/cpan/ExtUtils-MakeMaker/t/parse_version.t +++ b/cpan/ExtUtils-MakeMaker/t/parse_version.t @@ -23,7 +23,7 @@ my %versions = (q[$VERSION = '1.00'] => '1.00', '$VERSION = undef' => 'undef', '$wibble = 1.0' => undef, q[my $VERSION = '1.01'] => 'undef', - q[local $VERISON = '1.02'] => 'undef', + q[local $VERSION = '1.02'] => 'undef', q[local $FOO::VERSION = '1.30'] => 'undef', q[if( $Foo::VERSION >= 3.00 ) {]=> 'undef', q[our $VERSION = '1.23';] => '1.23', |