Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Update ExtUtils::MakeMaker to CPAN version 6.61_01

[DELTA]

6.61_01  Sat Sep 24 22:16:13 PDT 2011
    Win32
    * Liblist::Kid now checks the ActiveState MinGW library path environment
      variable [MITHALDU]
    * Further fixes to the Win32 quoting rules.  Fixes failures on VC8+.
      [rt.cpan.org #69528] [SHAY]
  • Loading branch information...
commit 33cc85ac950468181dff9f2be5ebf4e0e2a69d55 1 parent 450a7a1
George Greer authored
Showing with 81 additions and 74 deletions.
  1. +1 −1  Porting/Maintainers.pl
  2. +10 −0 cpan/ExtUtils-MakeMaker/Changes
  3. +1 −0  cpan/ExtUtils-MakeMaker/MANIFEST
  4. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
  5. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
  6. +11 −11 cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
  7. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
  8. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
  9. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
  10. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
  11. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
  12. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
  13. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
  14. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
  15. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
  16. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
  17. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
  18. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
  19. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
  20. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
  21. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
  22. +18 −32 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
  23. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
  24. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
  25. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
  26. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
  27. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
  28. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
  29. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
  30. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
  31. +1 −1  cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
  32. +2 −1  cpan/ExtUtils-MakeMaker/t/MM_Win32.t
  33. +10 −2 cpan/ExtUtils-MakeMaker/t/oneliner.t
  34. +2 −1  cpan/ExtUtils-MakeMaker/t/split_command.t
View
2  Porting/Maintainers.pl
@@ -734,7 +734,7 @@ package Maintainers;
'ExtUtils::MakeMaker' =>
{
'MAINTAINER' => 'mschwern',
- 'DISTRIBUTION' => 'MSTROUT/ExtUtils-MakeMaker-6.59.tar.gz',
+ 'DISTRIBUTION' => 'MSCHWERN/ExtUtils-MakeMaker-6.61_01.tar.gz',
'FILES' => q[cpan/ExtUtils-MakeMaker],
'EXCLUDED' => [ qr{^t/lib/Test/},
qr{^(bundled|my)/},
View
10 cpan/ExtUtils-MakeMaker/Changes
@@ -1,6 +1,15 @@
+6.61_01 Sat Sep 24 22:16:13 PDT 2011
+ Win32
+ * Liblist::Kid now checks the ActiveState MinGW library path environment
+ variable [MITHALDU]
+ * Further fixes to the Win32 quoting rules. Fixes failures on VC8+.
+ [rt.cpan.org #69528] [SHAY]
+
+
6.59 Fri Aug 5 12:09:00 BST
No changes since 6.58_01
+
6.58_01 Wed Aug 3 21:12:00 BST
Doc Fixes
* Corrected the repository location [chorny]
@@ -13,6 +22,7 @@
in site_perl shadowing our installation of other bundled modules.
[rt.cpan.org 69465] [rt.cpan.org 69900] [MSTROUT]
+
6.58 Wed Jul 6 14:17:06 PDT 2011
No changes since 6.57_11
View
1  cpan/ExtUtils-MakeMaker/MANIFEST
@@ -164,3 +164,4 @@ t/xs.t
TODO
META.yml Module YAML meta-data (added by MakeMaker)
META.json Module JSON meta-data (added by MakeMaker)
+SIGNATURE Public-key signature (added by MakeMaker)
View
2  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);
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
my $Is_VMS = $^O eq 'VMS';
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
@@ -2,7 +2,7 @@ package ExtUtils::Liblist;
use strict;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
use File::Spec;
require ExtUtils::Liblist::Kid;
View
22 cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
@@ -11,7 +11,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
use ExtUtils::MakeMaker::Config;
use Cwd 'cwd';
@@ -258,13 +258,14 @@ sub _win32_ext {
# TODO: make this use MM_Win32.pm's compiler detection
my %libs_seen;
my @extralibs;
- my $cc = $Config{cc} || '';
- my $VC = $cc =~ /\bcl\b/i;
- my $GC = $cc =~ /\bgcc\b/i;
+ my $cc = $Config{cc} || '';
+ my $VC = $cc =~ /\bcl\b/i;
+ my $GC = $cc =~ /\bgcc\b/i;
+
my $libext = _win32_lib_extensions();
- my @searchpath = ( '' ); # from "-L/path" entries in $potential_libs
- my @libpath = _win32_default_search_paths( $VC );
- my $pwd = cwd(); # from Cwd.pm
+ my @searchpath = ( '' ); # from "-L/path" entries in $potential_libs
+ my @libpath = _win32_default_search_paths( $VC, $GC );
+ my $pwd = cwd(); # from Cwd.pm
my $search = 1;
# compute @extralibs from $potential_libs
@@ -353,7 +354,7 @@ sub _win32_make_lib_search_list {
}
sub _win32_default_search_paths {
- my ( $VC ) = @_;
+ my ( $VC, $GC ) = @_;
my $libpth = $Config{'libpth'} || '';
$libpth =~ s,\\,/,g; # normalize to forward slashes
@@ -361,9 +362,8 @@ sub _win32_default_search_paths {
my @libpath = Text::ParseWords::quotewords( '\s+', 0, $libpth );
push @libpath, "$Config{installarchlib}/CORE"; # add "$Config{installarchlib}/CORE" to default search path
- if ( $VC and exists $ENV{LIB} and $ENV{LIB} ) {
- push @libpath, split /;/, $ENV{LIB};
- }
+ push @libpath, split /;/, $ENV{LIB} if $VC and $ENV{LIB};
+ push @libpath, split /;/, $ENV{LIBRARY_PATH} if $GC and $ENV{LIBRARY_PATH};
return @libpath;
}
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
@@ -3,7 +3,7 @@ package ExtUtils::MM;
use strict;
use ExtUtils::MakeMaker::Config;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
require ExtUtils::Liblist;
require ExtUtils::MakeMaker;
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_AIX;
use strict;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_Any;
use strict;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
use Carp;
use File::Spec;
View
2  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 = '6.59';
+our $VERSION = '6.61_01';
=item os_flavor
View
2  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 = '6.59';
+our $VERSION = '6.61_01';
=head1 NAME
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_DOS;
use strict;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
@@ -7,7 +7,7 @@ BEGIN {
our @ISA = qw( ExtUtils::MM_Unix );
}
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
=head1 NAME
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS;
use strict;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
sub new {
die <<'UNSUPPORTED';
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
@@ -22,7 +22,7 @@ use strict;
use ExtUtils::MakeMaker::Config;
use File::Basename;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
@@ -5,7 +5,7 @@ use strict;
use ExtUtils::MakeMaker qw(neatvalue);
use File::Spec;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_QNX;
use strict;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_UWIN;
use strict;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -15,7 +15,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue);
# If we make $VERSION an our variable parse_version() breaks
use vars qw($VERSION);
-$VERSION = '6.59';
+$VERSION = '6.61_01';
$VERSION = eval $VERSION;
require ExtUtils::MM_Any;
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
@@ -15,7 +15,7 @@ BEGIN {
use File::Basename;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_VOS;
use strict;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
View
50 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
@@ -27,7 +27,7 @@ use ExtUtils::MakeMaker qw( neatvalue );
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
$ENV{EMXSHELL} = 'sh'; # to run `commands`
@@ -487,42 +487,28 @@ sub oneliner {
sub quote_literal {
my($self, $text) = @_;
- # DOS batch processing is hilarious:
- # Quotes need to be converted into triple quotes.
- # Certain special characters need to be escaped with a caret if an odd
- # number of quotes came before them.
- my @text = split '', $text;
- my $quote_count = 0;
- my %caret_chars = map { $_ => 1 } qw( < > | );
- for my $char ( @text ) {
- if ( $char eq '"' ) {
- $quote_count++;
- $char = '"""';
- }
- elsif ( $caret_chars{$char} and $quote_count % 2 ) {
- $char = "^$char";
- }
- elsif ( $char eq "\\" ) {
- $char = "\\\\";
- }
- }
- $text = join '', @text;
+ # See: http://www.autohotkey.net/~deleyd/parameters/parameters.htm#CPP
+
+ # Apply the Microsoft C/C++ parsing rules
+ $text =~ s{\\\\"}{\\\\\\\\\\"}g; # \\" -> \\\\\"
+ $text =~ s{(?<!\\)\\"}{\\\\\\"}g; # \" -> \\\"
+ $text =~ s{(?<!\\)"}{\\"}g; # " -> \"
+ $text = qq{"$text"} if $text =~ /[ \t]/;
+
+ # Apply the Command Prompt parsing rules (cmd.exe)
+ my @text = split /("[^"]*")/, $text;
+ # We should also escape parentheses, but it breaks one-liners containing
+ # $(MACRO)s in makefiles.
+ s{([<>|&^@!])}{^$1}g foreach grep { !/^"[^"]*"$/ } @text;
+ $text = join('', @text);
- # There is a terribly confusing edge case here, where this will do entirely the wrong thing:
- # perl -e "use Data::Dumper; @ARGV = '%PATH%'; print Dumper( \@ARGV );print qq{@ARGV};" --
- # I have no idea how to fix this manually, much less programmatically.
- # However as it is such a rare edge case i'll just leave this documentation here and hope it never happens.
-
- # dmake eats '{' inside double quotes and leaves alone { outside double
- # quotes; however it transforms {{ into { either inside and outside double
- # quotes. It also translates }} into }. The escaping below is not
- # 100% correct.
+ # dmake expands {{ to { and }} to }.
if( $self->is_make_type('dmake') ) {
$text =~ s/{/{{/g;
- $text =~ s/}}/}}}/g;
+ $text =~ s/}/}}/g;
}
- return qq{"$text"};
+ return $text;
}
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_Win95;
use strict;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
@@ -3,7 +3,7 @@ package ExtUtils::MY;
use strict;
require ExtUtils::MM;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
our @ISA = qw(ExtUtils::MM);
{
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
@@ -18,7 +18,7 @@ our @Overridable;
my @Prepend_parent;
my %Recognized_Att_Keys;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
$VERSION = eval $VERSION;
# Emulate something resembling CVS $Revision$
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
@@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config;
use strict;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
use Config ();
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::FAQ;
-our $VERSION = '6.58';
+our $VERSION = '6.61_01';
1;
__END__
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::Tutorial;
-our $VERSION = 6.58;
+our $VERSION = 6.61_01;
=head1 NAME
View
2  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 = '6.59';
+our $VERSION = '6.61_01';
require Exporter;
our @ISA = ('Exporter');
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
@@ -10,7 +10,7 @@ use Config;
our @ISA = qw(Exporter);
our @EXPORT = qw(&Mksymlists);
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
sub Mksymlists {
my(%spec) = @_;
View
2  cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
@@ -3,7 +3,7 @@ package ExtUtils::testlib;
use strict;
use warnings;
-our $VERSION = '6.59';
+our $VERSION = '6.61_01';
use Cwd;
use File::Spec;
View
3  cpan/ExtUtils-MakeMaker/t/MM_Win32.t
@@ -107,7 +107,7 @@ delete $ENV{PATHEXT} unless $had_pathext;
# init_others(): check if all keys are created and set?
# qw( TOUCH CHMOD CP RM_F RM_RF MV NOOP TEST_F LD AR LDLOADLIBS DEV_NUL )
{
- my $mm_w32 = bless( { BASEEXT => 'Foo' }, 'MM' );
+ my $mm_w32 = bless( { BASEEXT => 'Foo', MAKE => $Config{make} }, 'MM' );
$mm_w32->init_others();
my @keys = qw( TOUCH CHMOD CP RM_F RM_RF MV NOOP
TEST_F LD AR LDLOADLIBS DEV_NULL );
@@ -124,6 +124,7 @@ delete $ENV{PATHEXT} unless $had_pathext;
NAME => 'TestMM_Win32',
VERSION => '1.00',
PM => { 'MM_Win32.pm' => 1 },
+ MAKE => $Config{make},
}, 'MM';
# XXX Hack until we have a proper init method.
View
12 cpan/ExtUtils-MakeMaker/t/oneliner.t
@@ -6,15 +6,16 @@ BEGIN {
chdir 't';
+use Config;
use MakeMaker::Test::Utils;
-use Test::More tests => 11;
+use Test::More tests => 16;
use File::Spec;
my $TB = Test::More->builder;
BEGIN { use_ok('ExtUtils::MM') }
-my $mm = bless { NAME => "Foo" }, 'MM';
+my $mm = bless { NAME => "Foo", MAKE => $Config{make} }, 'MM';
isa_ok($mm, 'ExtUtils::MakeMaker');
isa_ok($mm, 'ExtUtils::MM_Any');
@@ -47,6 +48,13 @@ try_oneliner(q{print " \" < "}, [], q{ " < }, 'quote, then bracket' );
try_oneliner(q{print " < \"\" < \" < \" < "}, [], q{ < "" < " < " < }, 'quotes and brackets mixed' );
try_oneliner(q{print " < \" | \" < | \" < \" < "}, [], q{ < " | " < | " < " < }, 'brackets, pipes and quotes' );
+# some examples from http://www.autohotkey.net/~deleyd/parameters/parameters.htm#CPP
+try_oneliner(q{print q[ &<>^|()@ ! ]}, [], q{ &<>^|()@ ! }, 'example 8.1' );
+try_oneliner(q{print q[ &<>^|@()!"&<>^|@()! ]}, [], q{ &<>^|@()!"&<>^|@()! }, 'example 8.2' );
+try_oneliner(q{print q[ "&<>^|@() !"&<>^|@() !" ]}, [], q{ "&<>^|@() !"&<>^|@() !" }, 'example 8.3' );
+try_oneliner(q{print q[ "C:\TEST A\" ]}, [], q{ "C:\TEST A\" }, 'example 8.4' );
+try_oneliner(q{print q[ "C:\TEST %&^ A\" ]}, [], q{ "C:\TEST %&^ A\" }, 'example 8.5' );
+
# XXX gotta rethink the newline test. The Makefile does newline
# escaping, then the shell.
View
3  cpan/ExtUtils-MakeMaker/t/split_command.t
@@ -6,6 +6,7 @@ BEGIN {
chdir 't';
+use Config;
use ExtUtils::MM;
use MakeMaker::Test::Utils;
@@ -15,7 +16,7 @@ my $Is_Win32 = $^O eq 'MSWin32';
use Test::More tests => 7;
my $perl = which_perl;
-my $mm = bless { NAME => "Foo" }, "MM";
+my $mm = bless { NAME => "Foo", MAKE => $Config{make} }, "MM";
# I don't expect anything to have a length shorter than 256 chars.
cmp_ok( $mm->max_exec_len, '>=', 256, 'max_exec_len' );
Please sign in to comment.
Something went wrong with that request. Please try again.