summaryrefslogtreecommitdiff
path: root/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2013-09-06 13:59:45 +0100
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2013-09-06 14:31:50 +0100
commit127c4457c66a643f80802db7421deb38875cb3a5 (patch)
treecfc3c4abc6bed7717c5ca7c180fb0ffaafa212cb /cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
parenta271a376b9ff839eed6d1db3181e47e01d846591 (diff)
downloadperl-127c4457c66a643f80802db7421deb38875cb3a5.tar.gz
Update ExtUtils-MakeMaker to CPAN version 6.76
[DELTA] 6.76 Fri Sep 6 13:32:42 BST 2013 No changes from 6.75_04 6.75_04 Thu Sep 5 12:07:59 BST 2013 Bug fixes: * Sanitise make on MSWin32 when reporting Makefile type 6.75_03 Tue Sep 3 00:24:23 BST 2013 New features: * Added RECURSIVE_TEST_FILES attribute to 'test' * Report the type of Makefile being generated Bug fixes: * RT#17041 more sortification of hashes to Makefile 6.75_02 Sun Sep 1 21:50:48 BST 2013 Bug fixes: * RT#49043 binmode STDIN breaks prompt() on MSWin32 * RT#14505 Handle -Wl,-rpath correctly * RT#17041 Sort manification and copying events for perceptive cleanliness 6.75_01 Thu Aug 29 15:06:27 BST 2013 New features: * Added NO_PERLLOCAL option to allow suppression of writing installs to perllocal.pod * Added NO_PACKLIST option to allow suppression of writing packlist files for installations Bug Fixes: * RT#32894 deal with legitimate linker flags correctly * RT#88222 check that Time::HiRes has 'stat' before using it Doc Fixes: * RT#87350 Document DLEXT parameter (sisyphus)
Diffstat (limited to 'cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm')
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm50
1 files changed, 44 insertions, 6 deletions
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
index 9a26890ad3..7e20b22eb0 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_Any;
use strict;
-our $VERSION = '6.74';
+our $VERSION = '6.76';
use Carp;
use File::Spec;
@@ -519,7 +519,7 @@ sub clean {
clean :: clean_subdirs
');
- my @files = values %{$self->{XS}}; # .c files from *.xs files
+ my @files = sort values %{$self->{XS}}; # .c files from *.xs files
my @dirs = qw(blib);
# Normally these are all under blib but they might have been
@@ -570,8 +570,8 @@ clean :: clean_subdirs
push @dirs, $self->extra_clean_files;
# Occasionally files are repeated several times from different sources
- { my(%f) = map { ($_ => 1) } @files; @files = keys %f; }
- { my(%d) = map { ($_ => 1) } @dirs; @dirs = keys %d; }
+ { my(%f) = map { ($_ => 1) } @files; @files = sort keys %f; }
+ { my(%d) = map { ($_ => 1) } @dirs; @dirs = sort keys %d; }
push @m, map "\t$_\n", $self->split_command('- $(RM_F)', @files);
push @m, map "\t$_\n", $self->split_command('- $(RM_RF)', @dirs);
@@ -770,7 +770,7 @@ sub manifypods_target {
my $dependencies = '';
# populate manXpods & dependencies:
- foreach my $name (keys %{$self->{MAN1PODS}}, keys %{$self->{MAN3PODS}}) {
+ foreach my $name (sort keys %{$self->{MAN1PODS}}, sort keys %{$self->{MAN3PODS}}) {
$dependencies .= " \\\n\t$name";
}
@@ -781,7 +781,7 @@ END
my @man_cmds;
foreach my $section (qw(1 3)) {
my $pods = $self->{"MAN${section}PODS"};
- push @man_cmds, $self->split_command(<<CMD, %$pods);
+ push @man_cmds, $self->split_command(<<CMD, map {($_,$pods->{$_})} sort keys %$pods);
\$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)
CMD
}
@@ -2510,6 +2510,44 @@ sub find_tests {
return -d 't' ? 't/*.t' : '';
}
+=head3 find_tests_recursive
+
+ my $tests = $mm->find_tests_recursive;
+
+Returns a string suitable for feeding to the shell to return all
+tests in t/ but recursively.
+
+=cut
+
+sub find_tests_recursive {
+ my($self) = shift;
+ return '' unless -d 't';
+
+ require File::Find;
+
+ my %testfiles;
+
+ my $wanted = sub {
+ return unless m!\.t$!;
+ my ($volume,$directories,$file) =
+ File::Spec->splitpath( $File::Find::name );
+ my @dirs = File::Spec->splitdir( $directories );
+ for ( @dirs ) {
+ next if $_ eq 't';
+ unless ( $_ ) {
+ $_ = '*.t';
+ next;
+ }
+ $_ = '*';
+ }
+ my $testfile = join '/', @dirs;
+ $testfiles{ $testfile } = 1;
+ };
+
+ File::Find::find( $wanted, 't' );
+
+ return join ' ', sort keys %testfiles;
+}
=head3 extra_clean_files