summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/ExtUtils
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/ExtUtils')
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm39
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm35
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Command.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm23
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm33
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MY.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version/regex.pm123
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version/vpp.pm1028
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm26
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/typemap54
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/xsubpp1
60 files changed, 257 insertions, 1301 deletions
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
index 17a49633984..6ce0c687943 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
@@ -1,10 +1,12 @@
package ExtUtils::CBuilder;
-$ExtUtils::CBuilder::VERSION = '0.280221';
+$ExtUtils::CBuilder::VERSION = '0.280225';
use File::Spec ();
use File::Path ();
use File::Basename ();
use Perl::OSType qw/os_type/;
+use warnings;
+use strict;
use vars qw(@ISA);
# We only use this once - don't waste a symbol table entry on it.
@@ -18,17 +20,18 @@ my $load = sub {
{
my @package = split /::/, __PACKAGE__;
-
+
my $ostype = os_type();
if (grep {-e File::Spec->catfile($_, @package, 'Platform', $^O) . '.pm'} @INC) {
- $load->(__PACKAGE__ . "::Platform::$^O");
-
- } elsif ( $ostype && grep {-e File::Spec->catfile($_, @package, 'Platform', $ostype) . '.pm'} @INC) {
- $load->(__PACKAGE__ . "::Platform::$ostype");
-
+ $load->(__PACKAGE__ . "::Platform::$^O");
+
+ } elsif ( $ostype &&
+ grep {-e File::Spec->catfile($_, @package, 'Platform', $ostype) . '.pm'} @INC) {
+ $load->(__PACKAGE__ . "::Platform::$ostype");
+
} else {
- $load->(__PACKAGE__ . "::Base");
+ $load->(__PACKAGE__ . "::Base");
}
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
index 7df61e4c54b..60b2f432dfb 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
@@ -1,6 +1,7 @@
package ExtUtils::CBuilder::Base;
-$ExtUtils::CBuilder::Base::VERSION = '0.280221';
+$ExtUtils::CBuilder::Base::VERSION = '0.280225';
use strict;
+use warnings;
use File::Spec;
use File::Basename;
use Cwd ();
@@ -128,20 +129,20 @@ sub arg_exec_file {
sub arg_defines {
my ($self, %args) = @_;
- return map "-D$_=$args{$_}", keys %args;
+ return map "-D$_=$args{$_}", sort keys %args;
}
sub compile {
my ($self, %args) = @_;
die "Missing 'source' argument to compile()" unless defined $args{source};
-
+
my $cf = $self->{config}; # For convenience
-
+
my $object_file = $args{object_file}
? $args{object_file}
: $self->object_file($args{source});
- my $include_dirs_ref =
+ my $include_dirs_ref =
(exists($args{include_dirs}) && ref($args{include_dirs}) ne "ARRAY")
? [ $args{include_dirs} ]
: $args{include_dirs};
@@ -149,9 +150,9 @@ sub compile {
@{ $include_dirs_ref || [] },
$self->perl_inc(),
);
-
+
my @defines = $self->arg_defines( %{$args{defines} || {}} );
-
+
my @extra_compiler_flags =
$self->split_like_shell($args{extra_compiler_flags});
my @cccdlflags = $self->split_like_shell($cf->{cccdlflags});
@@ -168,7 +169,7 @@ sub compile {
$self->arg_object_file($object_file),
);
my @cc = $self->split_like_shell($args{'C++'} ? $cf->{cxx} : $cf->{cc});
-
+
$self->do_system(@cc, @flags, $args{source})
or die "error building $object_file from '$args{source}'";
@@ -222,7 +223,7 @@ sub lib_file {
my ($self, $dl_file, %args) = @_;
$dl_file =~ s/\.[^.]+$//;
$dl_file =~ tr/"//d;
-
+
if (defined $args{module_name} and length $args{module_name}) {
# Need to create with the same name as DynaLoader will load with.
require DynaLoader;
@@ -232,7 +233,7 @@ sub lib_file {
$dl_file = File::Spec->catpath($dev, $lib_dir, $lib);
}
}
-
+
$dl_file .= ".$self->{config}{dlext}";
return $dl_file;
@@ -266,7 +267,7 @@ sub prelink {
sub _prepare_mksymlists_args {
my $args = shift;
($args->{dl_file} = $args->{dl_name}) =~ s/.*::// unless $args->{dl_file};
-
+
my %mksymlists_args = (
DL_VARS => $args->{dl_vars} || [],
DL_FUNCS => $args->{dl_funcs} || {},
@@ -294,16 +295,16 @@ sub _do_link {
my ($self, $type, %args) = @_;
my $cf = $self->{config}; # For convenience
-
+
my $objects = delete $args{objects};
$objects = [$objects] unless ref $objects;
my $out = $args{$type} || $self->$type($objects->[0], %args);
-
+
my @temp_files;
@temp_files =
$self->prelink(%args, dl_name => $args{module_name})
if $args{lddl} && $self->need_prelink;
-
+
my @linker_flags = (
$self->split_like_shell($args{extra_linker_flags}),
$self->extra_link_args_after_prelink(
@@ -316,10 +317,10 @@ sub _do_link {
: $self->arg_exec_file($out);
my @shrp = $self->split_like_shell($cf->{shrpenv});
my @ld = $self->split_like_shell($cf->{ld});
-
+
$self->do_system(@shrp, @ld, @output, @$objects, @linker_flags)
or die "error building $out from @$objects";
-
+
return wantarray ? ($out, @temp_files) : $out;
}
@@ -332,17 +333,17 @@ sub do_system {
sub split_like_shell {
my ($self, $string) = @_;
-
+
return () unless defined($string);
return @$string if UNIVERSAL::isa($string, 'ARRAY');
$string =~ s/^\s+|\s+$//g;
return () unless length($string);
-
+
# Text::ParseWords replaces all 'escaped' characters with themselves, which completely
# breaks paths under windows. As such, we forcibly replace backwards slashes with forward
# slashes on windows.
$string =~ s@\\@/@g if $^O eq 'MSWin32';
-
+
return Text::ParseWords::shellwords($string);
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
index a05ae4bca6f..399e254aa0c 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
@@ -1,5 +1,6 @@
package ExtUtils::CBuilder::Platform::Unix;
-$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280225';
+use warnings;
use strict;
use ExtUtils::CBuilder::Base;
@@ -20,19 +21,19 @@ sub link_executable {
sub link {
my $self = shift;
my $cf = $self->{config};
-
+
# Some platforms (notably Mac OS X 10.3, but some others too) expect
# the syntax "FOO=BAR /bin/command arg arg" to work in %Config
# (notably $Config{ld}). It usually works in system(SCALAR), but we
# use system(LIST). We fix it up here with 'env'.
-
+
local $cf->{ld} = $cf->{ld};
if (ref $cf->{ld}) {
unshift @{$cf->{ld}}, 'env' if $cf->{ld}[0] =~ /^\s*\w+=/;
} else {
$cf->{ld} =~ s/^(\s*\w+=)/env $1/;
}
-
+
return $self->SUPER::link(@_);
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
index 6285e33692d..e9d9f6fc2fd 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
@@ -1,5 +1,6 @@
package ExtUtils::CBuilder::Platform::VMS;
-$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280225';
+use warnings;
use strict;
use ExtUtils::CBuilder::Base;
@@ -27,11 +28,11 @@ sub arg_defines {
return '' unless keys(%args) || @config_defines;
- return ('/define=('
- . join(',',
+ return ('/define=('
+ . join(',',
@config_defines,
- map "\"$_" . ( length($args{$_}) ? "=$args{$_}" : '') . "\"",
- keys %args)
+ map "\"$_" . ( length($args{$_}) ? "=$args{$_}" : '') . "\"",
+ sort keys %args)
. ')');
}
@@ -50,7 +51,7 @@ sub arg_include_dirs {
# We override the compile method because we consume the includes and defines
# parts of ccflags in the process of compiling but don't save those parts
# anywhere, so $self->{config}{ccflags} needs to be reset for each compile
-# operation.
+# operation.
sub compile {
my ($self, %args) = @_;
@@ -63,10 +64,10 @@ sub compile {
sub _do_link {
my ($self, $type, %args) = @_;
-
+
my $objects = delete $args{objects};
$objects = [$objects] unless ref $objects;
-
+
if ($args{lddl}) {
# prelink will call Mksymlists, which creates the extension-specific
@@ -77,7 +78,7 @@ sub _do_link {
# We now add the rest of what we need to the linker options file. We
# should replicate the functionality of C<ExtUtils::MM_VMS::dlsyms>,
# but there is as yet no infrastructure for handling object libraries,
- # so for now we depend on object files being listed individually on the
+ # so for now we depend on object files being listed individually on the
# command line, which should work for simple cases. We do bring in our
# own version of C<ExtUtils::Liblist::Kid::ext> so that any additional
# libraries (including PERLSHR) can be added to the options file.
@@ -85,7 +86,7 @@ sub _do_link {
my @optlibs = $self->_liblist_ext( $args{'libs'} );
my $optfile = 'sys$disk:[]' . $temp_files[0];
- open my $opt_fh, '>>', $optfile
+ open my $opt_fh, '>>', $optfile
or die "_do_link: Unable to open $optfile: $!";
for my $lib (@optlibs) {print $opt_fh "$lib\n" if length $lib }
close $opt_fh;
@@ -136,7 +137,7 @@ sub _liblist_ext {
# which a system-wide logical may point.
if ($self->perl_src) {
my($lib,$locspec,$type);
- foreach $lib (@crtls) {
+ foreach $lib (@crtls) {
if (($locspec,$type) = $lib =~ m{^([\w\$-]+)(/\w+)?} and $locspec =~ /perl/i) {
if (lc $type eq '/share') { $locspec .= $self->{'config'}{'exe_ext'}; }
elsif (lc $type eq '/library') { $locspec .= $self->{'config'}{'lib_ext'}; }
@@ -188,8 +189,8 @@ sub _liblist_ext {
next;
}
warn "Resolving directory $dir\n" if $verbose;
- if (!File::Spec->file_name_is_absolute($dir)) {
- $dir = catdir($cwd,$dir);
+ if (!File::Spec->file_name_is_absolute($dir)) {
+ $dir = catdir($cwd,$dir);
}
}
@dirs = grep { length($_) } @dirs;
@@ -243,14 +244,14 @@ sub _liblist_ext {
$type = 'SHR';
$name = $fullname unless $fullname =~ /exe;?\d*$/i;
}
- elsif (not length($ctype) and # If we've got a lib already,
+ elsif (not length($ctype) and # If we've got a lib already,
# don't bother
( -f ($fullname = VMS::Filespec::rmsexpand($name,$lib_ext)) or
-f ($fullname = VMS::Filespec::rmsexpand($name,'.olb')))) {
$type = 'OLB';
$name = $fullname unless $fullname =~ /olb;?\d*$/i;
}
- elsif (not length($ctype) and # If we've got a lib already,
+ elsif (not length($ctype) and # If we've got a lib already,
# don't bother
( -f ($fullname = VMS::Filespec::rmsexpand($name,$obj_ext)) or
-f ($fullname = VMS::Filespec::rmsexpand($name,'.obj')))) {
@@ -264,9 +265,9 @@ sub _liblist_ext {
last if $ctype eq 'SHR';
}
}
- if ($ctype) {
+ if ($ctype) {
push @{$found{$ctype}}, $cand;
- warn "\tFound as $cand (really $fullname), type $ctype\n"
+ warn "\tFound as $cand (really $fullname), type $ctype\n"
if $verbose > 1;
push @flibs, $name unless $libs_seen{$fullname}++;
next LIB;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
index 472c8012da3..80b8f29cd2d 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
@@ -1,5 +1,5 @@
package ExtUtils::CBuilder::Platform::Windows;
-$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280225';
use strict;
use warnings;
@@ -57,7 +57,7 @@ sub split_like_shell {
# array) to the target program and make the program parse it itself,
# we don't actually need to do any processing here.
(my $self, local $_) = @_;
-
+
return @$_ if defined() && UNIVERSAL::isa($_, 'ARRAY');
return unless defined() && length();
return ($_);
@@ -76,7 +76,7 @@ sub do_system {
sub arg_defines {
my ($self, %args) = @_;
s/"/\\"/g foreach values %args;
- return map qq{"-D$_=$args{$_}"}, keys %args;
+ return map qq{"-D$_=$args{$_}"}, sort keys %args;
}
sub compile {
@@ -85,7 +85,7 @@ sub compile {
die "Missing 'source' argument to compile()" unless defined $args{source};
- $args{include_dirs} = [ $args{include_dirs} ]
+ $args{include_dirs} = [ $args{include_dirs} ]
if exists($args{include_dirs}) && ref($args{include_dirs}) ne "ARRAY";
my ($basename, $srcdir) =
@@ -151,7 +151,7 @@ sub link {
# if running in perl source tree, look for libs there, not installed
my $lddlflags = $cf->{lddlflags};
my $perl_src = $self->perl_src();
- $lddlflags =~ s/\Q$cf->{archlibexp}\E[\\\/]CORE/$perl_src/ if $perl_src;
+ $lddlflags =~ s/\Q$cf->{archlibexp}\E[\\\/]CORE/$perl_src\/lib\/CORE/ if $perl_src;
my %spec = (
srcdir => $to,
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
index cbba074146a..513c4acaeea 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
@@ -1,5 +1,8 @@
package ExtUtils::CBuilder::Platform::Windows::BCC;
-$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280220';
+$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280225';
+use strict;
+use warnings;
+
sub format_compiler_cmd {
my ($self, %spec) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
index eb37a0e1711..19851df352e 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
@@ -1,5 +1,8 @@
package ExtUtils::CBuilder::Platform::Windows::GCC;
-$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280220';
+$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280225';
+use warnings;
+use strict;
+
sub format_compiler_cmd {
my ($self, %spec) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
index 8457485e22f..c8d675f4978 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
@@ -1,5 +1,8 @@
package ExtUtils::CBuilder::Platform::Windows::MSVC;
-$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280220';
+$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280225';
+use warnings;
+use strict;
+
sub arg_exec_file {
my ($self, $file) = @_;
return "/OUT:$file";
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
index c40dfaa5f46..488d3e68bc9 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
@@ -1,5 +1,6 @@
package ExtUtils::CBuilder::Platform::aix;
-$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280225';
+use warnings;
use strict;
use ExtUtils::CBuilder::Platform::Unix;
use File::Spec;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm
index 8ceb1454d6d..b9e6af3129c 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm
@@ -1,5 +1,6 @@
package ExtUtils::CBuilder::Platform::android;
-$ExtUtils::CBuilder::Platform::android::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::android::VERSION = '0.280225';
+use warnings;
use strict;
use File::Spec;
use ExtUtils::CBuilder::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
index 9f1e7fea397..339840f8c19 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
@@ -1,5 +1,6 @@
package ExtUtils::CBuilder::Platform::cygwin;
-$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280225';
+use warnings;
use strict;
use File::Spec;
use ExtUtils::CBuilder::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
index 391040bb934..04a87da3311 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
@@ -1,5 +1,6 @@
package ExtUtils::CBuilder::Platform::darwin;
-$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280225';
+use warnings;
use strict;
use ExtUtils::CBuilder::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
index 5d4bdf78b13..d503e8614bf 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
@@ -1,5 +1,6 @@
package ExtUtils::CBuilder::Platform::dec_osf;
-$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280225';
+use warnings;
use strict;
use ExtUtils::CBuilder::Platform::Unix;
use File::Spec;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
index a5d81ca3311..8d0e3eb0dc2 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
@@ -1,5 +1,6 @@
package ExtUtils::CBuilder::Platform::os2;
-$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280221';
+$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280225';
+use warnings;
use strict;
use ExtUtils::CBuilder::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm
index 7f3161a73a1..34e85decfbe 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm
@@ -7,7 +7,8 @@ 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 = '1.20';
+$VERSION = '7.10_02';
+$VERSION = eval $VERSION;
my $Is_VMS = $^O eq 'VMS';
my $Is_VMS_mode = $Is_VMS;
@@ -19,7 +20,10 @@ if( $Is_VMS ) {
my $vms_efs;
my $vms_case;
- if (eval { local $SIG{__DIE__}; require VMS::Feature; }) {
+ if (eval { local $SIG{__DIE__};
+ local @INC = @INC;
+ pop @INC if $INC[-1] eq '.';
+ require VMS::Feature; }) {
$vms_unix_rpt = VMS::Feature::current("filename_unix_report");
$vms_efs = VMS::Feature::current("efs_charset");
$vms_case = VMS::Feature::current("efs_case_preserve");
@@ -373,3 +377,4 @@ ExtUtils-MakeMaker package and, as a separate CPAN package, by
Randy Kobes C<r.kobes@uwinnipeg.ca>.
=cut
+
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
index 203b3aa1d81..b4385fc8c60 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
+++ b/Master/tlpkg/tlperl/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.04_01';
+our $VERSION = '7.10_02';
my $Is_VMS = $^O eq 'VMS';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
index 3f983c11832..9305b5dc133 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
@@ -10,7 +10,7 @@ use vars qw(@ISA @EXPORT $VERSION
use strict;
# This is not a dual-life module, so no need for development version numbers
-$VERSION = '1.32';
+$VERSION = '1.33';
@ISA = qw(Exporter);
@EXPORT = qw(&xsinit &ldopts
@@ -350,7 +350,8 @@ This will generate code for linking with C<DynaLoader> and
each static extension found in C<$Config{static_ext}>.
The code is written to the default file name F<perlxsi.c>.
- perl -MExtUtils::Embed -e xsinit -- -o xsinit.c -std DBI DBD::Oracle
+ perl -MExtUtils::Embed -e xsinit -- -o xsinit.c \
+ -std DBI DBD::Oracle
Here, code is written for all the currently linked extensions along with code
for C<DBI> and C<DBD::Oracle>.
@@ -424,9 +425,11 @@ are picked up from the F<extralibs.ld> file in the same directory.
perl -MExtUtils::Embed -e ldopts -- -std Socket
-This will do the same as the above example, along with printing additional arguments for linking with the C<Socket> extension.
+This will do the same as the above example, along with printing additional
+arguments for linking with the C<Socket> extension.
- perl -MExtUtils::Embed -e ldopts -- -std Msql -- -L/usr/msql/lib -lmsql
+ perl -MExtUtils::Embed -e ldopts -- -std Msql -- \
+ -L/usr/msql/lib -lmsql
Any arguments after the second '--' token are additional linker
arguments that will be examined for potential conflict. If there is no
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm
index 3df17939933..ed38f8fe5d9 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm
@@ -2,7 +2,7 @@ package ExtUtils::Liblist;
use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
use File::Spec;
require ExtUtils::Liblist::Kid;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
index 37bcfd45129..93183a3792a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
@@ -11,7 +11,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
use ExtUtils::MakeMaker::Config;
use Cwd 'cwd';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm
index f2aa8b4fc0d..a8a176bc394 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm
@@ -3,7 +3,7 @@ package ExtUtils::MM;
use strict;
use ExtUtils::MakeMaker::Config;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
require ExtUtils::Liblist;
require ExtUtils::MakeMaker;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
index 58ea5b917f5..bb7e6105a5f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_AIX;
use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm
index 4c00129af16..7679dc415a6 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_Any;
use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
use Carp;
use File::Spec;
@@ -202,19 +202,28 @@ Returns true if C<<$self->make>> is the given type; possibilities are:
=cut
+my %maketype2true;
+# undocumented - so t/cd.t can still do its thing
+sub _clear_maketype_cache { %maketype2true = () }
+
sub is_make_type {
my($self, $type) = @_;
+ return $maketype2true{$type} if defined $maketype2true{$type};
(undef, undef, my $make_basename) = $self->splitpath($self->make);
- return 1 if $make_basename =~ /\b$type\b/i; # executable's filename
- return 0 if $make_basename =~ /\b(dmake|nmake)\b/i; # Never fall through for dmake/nmake
+ return $maketype2true{$type} = 1
+ if $make_basename =~ /\b$type\b/i; # executable's filename
+ return $maketype2true{$type} = 0
+ if $make_basename =~ /\b[gdn]make\b/i; # Never fall through for dmake/nmake/gmake
# now have to run with "-v" and guess
my $redirect = $self->can_redirect_error ? '2>&1' : '';
my $make = $self->make || $self->{MAKE};
my $minus_v = `"$make" -v $redirect`;
- return 1 if $type eq 'gmake' and $minus_v =~ /GNU make/i;
- return 1 if $type eq 'bsdmake'
+ return $maketype2true{$type} = 1
+ if $type eq 'gmake' and $minus_v =~ /GNU make/i;
+ return $maketype2true{$type} = 1
+ if $type eq 'bsdmake'
and $minus_v =~ /^usage: make \[-BeikNnqrstWwX\]/im;
- 0; # it wasn't whatever you asked
+ $maketype2true{$type} = 0; # it wasn't whatever you asked
}
@@ -1668,7 +1677,7 @@ CODE
my $add_sign_to_dist = $self->cd('$(DISTVNAME)' => $add_sign );
return sprintf <<'MAKE', $add_sign_to_dist, $touch_sig, $sign_dist
-distsignature : create_distdir
+distsignature : distmeta
$(NOECHO) %s
$(NOECHO) %s
%s
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm
index 35b76c0fdf0..3015f2dd655 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm
+++ b/Master/tlpkg/tlperl/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.04_01';
+our $VERSION = '7.10_02';
=item os_flavor
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm
index b504c479f3c..659d430ffde 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm
+++ b/Master/tlpkg/tlperl/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.04_01';
+our $VERSION = '7.10_02';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm
index 353c54ff9df..e89c632cb1a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_DOS;
use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm
index 315d1b4dfb1..b6e7c5b86ce 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm
@@ -7,7 +7,7 @@ BEGIN {
our @ISA = qw( ExtUtils::MM_Unix );
}
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm
index bef2c00424d..7323bf12551 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS;
use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
sub new {
die 'MacOS Classic (MacPerl) is no longer supported by MakeMaker';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
index 4e36796dc8b..967b5d4c8d6 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
@@ -22,7 +22,7 @@ use strict;
use ExtUtils::MakeMaker::Config;
use File::Basename;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm
index c9ace00b0b5..598087ca19f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm
@@ -5,7 +5,7 @@ use strict;
use ExtUtils::MakeMaker qw(neatvalue);
use File::Spec;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm
index 13e12c4a9f5..1bdc6e0f97f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_QNX;
use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm
index 4af2909b80b..6d85d944df4 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_UWIN;
use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
index f63145ce116..009b18ee085 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
+++ b/Master/tlpkg/tlperl/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 = '7.04_01';
+$VERSION = '7.10_02';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
require ExtUtils::MM_Any;
@@ -317,8 +317,8 @@ sub const_cccmd {
=item const_config (o)
-Defines a couple of constants in the Makefile that are imported from
-%Config.
+Sets SHELL if needed, then defines a couple of constants in the Makefile
+that are imported from %Config.
=cut
@@ -326,7 +326,8 @@ sub const_config {
# --- Constants Sections ---
my($self) = shift;
- my @m = <<"END";
+ my @m = $self->specify_shell(); # Usually returns empty string
+ push @m, <<"END";
# These definitions are from config.sh (via $INC{'Config.pm'}).
# They may have been overridden via Makefile.PL or on the command line.
@@ -676,13 +677,13 @@ Defines a check in target for RCS.
sub dist_ci {
my($self) = shift;
- return q{
-ci :
- $(PERLRUN) "-MExtUtils::Manifest=maniread" \\
- -e "@all = keys %{ maniread() };" \\
- -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \\
- -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LABEL) @all});"
-};
+ return sprintf "ci :\n\t%s\n", $self->oneliner(<<'EOF', [qw(-MExtUtils::Manifest=maniread)]);
+@all = sort keys %{ maniread() };
+print(qq{Executing $(CI) @all\n});
+system(qq{$(CI) @all}) == 0 or die $!;
+print(qq{Executing $(RCS_LABEL) ...\n});
+system(qq{$(RCS_LABEL) @all}) == 0 or die $!;
+EOF
}
=item dist_core (o)
@@ -3176,6 +3177,16 @@ MAKE_FRAG
return $m;
}
+=item specify_shell
+
+Specify SHELL if needed - not done on Unix.
+
+=cut
+
+sub specify_shell {
+ return '';
+}
+
=item quote_paren
Backslashes parentheses C<()> in command line arguments.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm
index 45d06b00c52..60dd8713fc2 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm
@@ -15,7 +15,7 @@ BEGIN {
use File::Basename;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
@@ -1764,7 +1764,8 @@ sub oneliner {
$cmd =~ s{^\n+}{};
$cmd =~ s{\n+$}{};
- $cmd = $self->quote_literal($cmd);
+ my @cmds = split /\n/, $cmd;
+ $cmd = join " \n\t -e ", map $self->quote_literal($_), @cmds;
$cmd = $self->escape_newlines($cmd);
# Switches must be quoted else they will be lowercased.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm
index dfec6d5c9f9..07ad95f409a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_VOS;
use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm
index fbd3f49f910..0a2fb606f45 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm
+++ b/Master/tlpkg/tlperl/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 = '7.04_01';
+our $VERSION = '7.10_02';
$ENV{EMXSHELL} = 'sh'; # to run `commands`
@@ -232,6 +232,17 @@ sub platform_constants {
return $make_frag;
}
+=item specify_shell
+
+Set SHELL to $ENV{COMSPEC} only if make is type 'gmake'.
+
+=cut
+
+sub specify_shell {
+ my $self = shift;
+ return '' unless $self->is_make_type('gmake');
+ "\nSHELL = $ENV{COMSPEC}\n";
+}
=item constants
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm
index cc37c24140f..096f28d7e27 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_Win95;
use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm
index f2114f9c138..5a080ea8c47 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm
@@ -3,7 +3,7 @@ package ExtUtils::MY;
use strict;
require ExtUtils::MM;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
our @ISA = qw(ExtUtils::MM);
{
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
index fe95b2784ad..42b174fe347 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
+++ b/Master/tlpkg/tlperl/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.04_01';
+our $VERSION = '7.10_02';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
# Emulate something resembling CVS $Revision$
@@ -42,7 +42,7 @@ our @EXPORT_OK = qw($VERSION &neatvalue &mkbootstrap &mksymlists
# purged.
my $Is_VMS = $^O eq 'VMS';
my $Is_Win32 = $^O eq 'MSWin32';
-my $UNDER_CORE = $ENV{PERL_CORE};
+our $UNDER_CORE = $ENV{PERL_CORE}; # needs to be our
full_setup();
@@ -439,7 +439,7 @@ sub new {
}
print "MakeMaker (v$VERSION)\n" if $Verbose;
- if (-f "MANIFEST" && ! -f "Makefile" && ! $ENV{PERL_CORE}){
+ if (-f "MANIFEST" && ! -f "Makefile" && ! $UNDER_CORE){
check_manifest();
}
@@ -525,7 +525,7 @@ END
warn sprintf "Warning: prerequisite %s %s not found.\n",
$prereq, $required_version
unless $self->{PREREQ_FATAL}
- or $ENV{PERL_CORE};
+ or $UNDER_CORE;
$unsatisfied{$prereq} = 'not installed';
}
@@ -533,7 +533,7 @@ END
warn sprintf "Warning: prerequisite %s %s not found. We have %s.\n",
$prereq, $required_version, ($pr_version || 'unknown version')
unless $self->{PREREQ_FATAL}
- or $ENV{PERL_CORE};
+ or $UNDER_CORE;
$unsatisfied{$prereq} = $required_version ? $required_version : 'unknown version' ;
}
@@ -1175,12 +1175,9 @@ sub flush {
binmode $fh, ':encoding(locale)' if $CAN_DECODE;
for my $chunk (@{$self->{RESULT}}) {
- my $to_write = "$chunk\n";
- if (!$CAN_DECODE && $] > 5.008) {
- utf8::encode $to_write;
- }
- print $fh "$chunk\n"
- or die "Can't write to MakeMaker.tmp: $!";
+ my $to_write = $chunk;
+ utf8::encode $to_write if !$CAN_DECODE && $] > 5.008;
+ print $fh "$to_write\n" or die "Can't write to MakeMaker.tmp: $!";
}
close $fh
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm
index 9001cc62685..707e3bf7c03 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm
@@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config;
use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
use Config ();
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
index d2b4ab354f5..d3aa100fb9f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::FAQ;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_01';
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm
index 23d0c6ecfe9..68fcd4c5b84 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm
@@ -1,7 +1,7 @@
package ExtUtils::MakeMaker::Locale;
use strict;
-our $VERSION = "7.04_01";
+our $VERSION = "7.10";
use base 'Exporter';
our @EXPORT_OK = qw(
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
index 9cbdd9b2ec5..7e53baa525b 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::Tutorial;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_01';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm
index 3269f444415..35cd2ab9b30 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm
@@ -15,7 +15,7 @@ use strict;
use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
-$VERSION = '7.04_01';
+$VERSION = '7.10_01';
$CLASS = 'version';
{
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version/regex.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version/regex.pm
deleted file mode 100644
index a134a00a42a..00000000000
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version/regex.pm
+++ /dev/null
@@ -1,123 +0,0 @@
-#--------------------------------------------------------------------------#
-# This is a modified copy of version.pm 0.9909, bundled exclusively for
-# use by ExtUtils::Makemaker and its dependencies to bootstrap when
-# version.pm is not available. It should not be used by ordinary modules.
-#--------------------------------------------------------------------------#
-
-package ExtUtils::MakeMaker::version::regex;
-
-use strict;
-
-use vars qw($VERSION $CLASS $STRICT $LAX);
-
-$VERSION = '7.04_01';
-
-#--------------------------------------------------------------------------#
-# Version regexp components
-#--------------------------------------------------------------------------#
-
-# Fraction part of a decimal version number. This is a common part of
-# both strict and lax decimal versions
-
-my $FRACTION_PART = qr/\.[0-9]+/;
-
-# First part of either decimal or dotted-decimal strict version number.
-# Unsigned integer with no leading zeroes (except for zero itself) to
-# avoid confusion with octal.
-
-my $STRICT_INTEGER_PART = qr/0|[1-9][0-9]*/;
-
-# First part of either decimal or dotted-decimal lax version number.
-# Unsigned integer, but allowing leading zeros. Always interpreted
-# as decimal. However, some forms of the resulting syntax give odd
-# results if used as ordinary Perl expressions, due to how perl treats
-# octals. E.g.
-# version->new("010" ) == 10
-# version->new( 010 ) == 8
-# version->new( 010.2) == 82 # "8" . "2"
-
-my $LAX_INTEGER_PART = qr/[0-9]+/;
-
-# Second and subsequent part of a strict dotted-decimal version number.
-# Leading zeroes are permitted, and the number is always decimal.
-# Limited to three digits to avoid overflow when converting to decimal
-# form and also avoid problematic style with excessive leading zeroes.
-
-my $STRICT_DOTTED_DECIMAL_PART = qr/\.[0-9]{1,3}/;
-
-# Second and subsequent part of a lax dotted-decimal version number.
-# Leading zeroes are permitted, and the number is always decimal. No
-# limit on the numerical value or number of digits, so there is the
-# possibility of overflow when converting to decimal form.
-
-my $LAX_DOTTED_DECIMAL_PART = qr/\.[0-9]+/;
-
-# Alpha suffix part of lax version number syntax. Acts like a
-# dotted-decimal part.
-
-my $LAX_ALPHA_PART = qr/_[0-9]+/;
-
-#--------------------------------------------------------------------------#
-# Strict version regexp definitions
-#--------------------------------------------------------------------------#
-
-# Strict decimal version number.
-
-my $STRICT_DECIMAL_VERSION =
- qr/ $STRICT_INTEGER_PART $FRACTION_PART? /x;
-
-# Strict dotted-decimal version number. Must have both leading "v" and
-# at least three parts, to avoid confusion with decimal syntax.
-
-my $STRICT_DOTTED_DECIMAL_VERSION =
- qr/ v $STRICT_INTEGER_PART $STRICT_DOTTED_DECIMAL_PART{2,} /x;
-
-# Complete strict version number syntax -- should generally be used
-# anchored: qr/ \A $STRICT \z /x
-
-$STRICT =
- qr/ $STRICT_DECIMAL_VERSION | $STRICT_DOTTED_DECIMAL_VERSION /x;
-
-#--------------------------------------------------------------------------#
-# Lax version regexp definitions
-#--------------------------------------------------------------------------#
-
-# Lax decimal version number. Just like the strict one except for
-# allowing an alpha suffix or allowing a leading or trailing
-# decimal-point
-
-my $LAX_DECIMAL_VERSION =
- qr/ $LAX_INTEGER_PART (?: \. | $FRACTION_PART $LAX_ALPHA_PART? )?
- |
- $FRACTION_PART $LAX_ALPHA_PART?
- /x;
-
-# Lax dotted-decimal version number. Distinguished by having either
-# leading "v" or at least three non-alpha parts. Alpha part is only
-# permitted if there are at least two non-alpha parts. Strangely
-# enough, without the leading "v", Perl takes .1.2 to mean v0.1.2,
-# so when there is no "v", the leading part is optional
-
-my $LAX_DOTTED_DECIMAL_VERSION =
- qr/
- v $LAX_INTEGER_PART (?: $LAX_DOTTED_DECIMAL_PART+ $LAX_ALPHA_PART? )?
- |
- $LAX_INTEGER_PART? $LAX_DOTTED_DECIMAL_PART{2,} $LAX_ALPHA_PART?
- /x;
-
-# Complete lax version number syntax -- should generally be used
-# anchored: qr/ \A $LAX \z /x
-#
-# The string 'undef' is a special case to make for easier handling
-# of return values from ExtUtils::MM->parse_version
-
-$LAX =
- qr/ undef | $LAX_DECIMAL_VERSION | $LAX_DOTTED_DECIMAL_VERSION /x;
-
-#--------------------------------------------------------------------------#
-
-# Preloaded methods go here.
-sub is_strict { defined $_[0] && $_[0] =~ qr/ \A $STRICT \z /x }
-sub is_lax { defined $_[0] && $_[0] =~ qr/ \A $LAX \z /x }
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version/vpp.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version/vpp.pm
deleted file mode 100644
index 34bbd01bf1f..00000000000
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version/vpp.pm
+++ /dev/null
@@ -1,1028 +0,0 @@
-#--------------------------------------------------------------------------#
-# This is a modified copy of version.pm 0.9909, bundled exclusively for
-# use by ExtUtils::Makemaker and its dependencies to bootstrap when
-# version.pm is not available. It should not be used by ordinary modules.
-#--------------------------------------------------------------------------#
-
-package ExtUtils::MakeMaker::charstar;
-# a little helper class to emulate C char* semantics in Perl
-# so that prescan_version can use the same code as in C
-
-use overload (
- '""' => \&thischar,
- '0+' => \&thischar,
- '++' => \&increment,
- '--' => \&decrement,
- '+' => \&plus,
- '-' => \&minus,
- '*' => \&multiply,
- 'cmp' => \&cmp,
- '<=>' => \&spaceship,
- 'bool' => \&thischar,
- '=' => \&clone,
-);
-
-sub new {
- my ($self, $string) = @_;
- my $class = ref($self) || $self;
-
- my $obj = {
- string => [split(//,$string)],
- current => 0,
- };
- return bless $obj, $class;
-}
-
-sub thischar {
- my ($self) = @_;
- my $last = $#{$self->{string}};
- my $curr = $self->{current};
- if ($curr >= 0 && $curr <= $last) {
- return $self->{string}->[$curr];
- }
- else {
- return '';
- }
-}
-
-sub increment {
- my ($self) = @_;
- $self->{current}++;
-}
-
-sub decrement {
- my ($self) = @_;
- $self->{current}--;
-}
-
-sub plus {
- my ($self, $offset) = @_;
- my $rself = $self->clone;
- $rself->{current} += $offset;
- return $rself;
-}
-
-sub minus {
- my ($self, $offset) = @_;
- my $rself = $self->clone;
- $rself->{current} -= $offset;
- return $rself;
-}
-
-sub multiply {
- my ($left, $right, $swapped) = @_;
- my $char = $left->thischar();
- return $char * $right;
-}
-
-sub spaceship {
- my ($left, $right, $swapped) = @_;
- unless (ref($right)) { # not an object already
- $right = $left->new($right);
- }
- return $left->{current} <=> $right->{current};
-}
-
-sub cmp {
- my ($left, $right, $swapped) = @_;
- unless (ref($right)) { # not an object already
- if (length($right) == 1) { # comparing single character only
- return $left->thischar cmp $right;
- }
- $right = $left->new($right);
- }
- return $left->currstr cmp $right->currstr;
-}
-
-sub bool {
- my ($self) = @_;
- my $char = $self->thischar;
- return ($char ne '');
-}
-
-sub clone {
- my ($left, $right, $swapped) = @_;
- $right = {
- string => [@{$left->{string}}],
- current => $left->{current},
- };
- return bless $right, ref($left);
-}
-
-sub currstr {
- my ($self, $s) = @_;
- my $curr = $self->{current};
- my $last = $#{$self->{string}};
- if (defined($s) && $s->{current} < $last) {
- $last = $s->{current};
- }
-
- my $string = join('', @{$self->{string}}[$curr..$last]);
- return $string;
-}
-
-package ExtUtils::MakeMaker::version::vpp;
-
-use 5.006002;
-use strict;
-
-use Config;
-use vars qw($VERSION $CLASS @ISA $LAX $STRICT);
-$VERSION = '7.04_01';
-$CLASS = 'ExtUtils::MakeMaker::version::vpp';
-
-require ExtUtils::MakeMaker::version::regex;
-*ExtUtils::MakeMaker::version::vpp::is_strict = \&ExtUtils::MakeMaker::version::regex::is_strict;
-*ExtUtils::MakeMaker::version::vpp::is_lax = \&ExtUtils::MakeMaker::version::regex::is_lax;
-*LAX = \$ExtUtils::MakeMaker::version::regex::LAX;
-*STRICT = \$ExtUtils::MakeMaker::version::regex::STRICT;
-
-use overload (
- '""' => \&stringify,
- '0+' => \&numify,
- 'cmp' => \&vcmp,
- '<=>' => \&vcmp,
- 'bool' => \&vbool,
- '+' => \&vnoop,
- '-' => \&vnoop,
- '*' => \&vnoop,
- '/' => \&vnoop,
- '+=' => \&vnoop,
- '-=' => \&vnoop,
- '*=' => \&vnoop,
- '/=' => \&vnoop,
- 'abs' => \&vnoop,
-);
-
-eval "use warnings";
-if ($@) {
- eval '
- package
- warnings;
- sub enabled {return $^W;}
- 1;
- ';
-}
-
-sub import {
- no strict 'refs';
- my ($class) = shift;
-
- # Set up any derived class
- unless ($class eq $CLASS) {
- local $^W;
- *{$class.'::declare'} = \&{$CLASS.'::declare'};
- *{$class.'::qv'} = \&{$CLASS.'::qv'};
- }
-
- my %args;
- if (@_) { # any remaining terms are arguments
- map { $args{$_} = 1 } @_
- }
- else { # no parameters at all on use line
- %args =
- (
- qv => 1,
- 'UNIVERSAL::VERSION' => 1,
- );
- }
-
- my $callpkg = caller();
-
- if (exists($args{declare})) {
- *{$callpkg.'::declare'} =
- sub {return $class->declare(shift) }
- unless defined(&{$callpkg.'::declare'});
- }
-
- if (exists($args{qv})) {
- *{$callpkg.'::qv'} =
- sub {return $class->qv(shift) }
- unless defined(&{$callpkg.'::qv'});
- }
-
- if (exists($args{'UNIVERSAL::VERSION'})) {
- local $^W;
- *UNIVERSAL::VERSION
- = \&{$CLASS.'::_VERSION'};
- }
-
- if (exists($args{'VERSION'})) {
- *{$callpkg.'::VERSION'} = \&{$CLASS.'::_VERSION'};
- }
-
- if (exists($args{'is_strict'})) {
- *{$callpkg.'::is_strict'} = \&{$CLASS.'::is_strict'}
- unless defined(&{$callpkg.'::is_strict'});
- }
-
- if (exists($args{'is_lax'})) {
- *{$callpkg.'::is_lax'} = \&{$CLASS.'::is_lax'}
- unless defined(&{$callpkg.'::is_lax'});
- }
-}
-
-my $VERSION_MAX = 0x7FFFFFFF;
-
-# implement prescan_version as closely to the C version as possible
-use constant TRUE => 1;
-use constant FALSE => 0;
-
-sub isDIGIT {
- my ($char) = shift->thischar();
- return ($char =~ /\d/);
-}
-
-sub isALPHA {
- my ($char) = shift->thischar();
- return ($char =~ /[a-zA-Z]/);
-}
-
-sub isSPACE {
- my ($char) = shift->thischar();
- return ($char =~ /\s/);
-}
-
-sub BADVERSION {
- my ($s, $errstr, $error) = @_;
- if ($errstr) {
- $$errstr = $error;
- }
- return $s;
-}
-
-sub prescan_version {
- my ($s, $strict, $errstr, $sqv, $ssaw_decimal, $swidth, $salpha) = @_;
- my $qv = defined $sqv ? $$sqv : FALSE;
- my $saw_decimal = defined $ssaw_decimal ? $$ssaw_decimal : 0;
- my $width = defined $swidth ? $$swidth : 3;
- my $alpha = defined $salpha ? $$salpha : FALSE;
-
- my $d = $s;
-
- if ($qv && isDIGIT($d)) {
- goto dotted_decimal_version;
- }
-
- if ($d eq 'v') { # explicit v-string
- $d++;
- if (isDIGIT($d)) {
- $qv = TRUE;
- }
- else { # degenerate v-string
- # requires v1.2.3
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
- }
-
-dotted_decimal_version:
- if ($strict && $d eq '0' && isDIGIT($d+1)) {
- # no leading zeros allowed
- return BADVERSION($s,$errstr,"Invalid version format (no leading zeros)");
- }
-
- while (isDIGIT($d)) { # integer part
- $d++;
- }
-
- if ($d eq '.')
- {
- $saw_decimal++;
- $d++; # decimal point
- }
- else
- {
- if ($strict) {
- # require v1.2.3
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
- }
- else {
- goto version_prescan_finish;
- }
- }
-
- {
- my $i = 0;
- my $j = 0;
- while (isDIGIT($d)) { # just keep reading
- $i++;
- while (isDIGIT($d)) {
- $d++; $j++;
- # maximum 3 digits between decimal
- if ($strict && $j > 3) {
- return BADVERSION($s,$errstr,"Invalid version format (maximum 3 digits between decimals)");
- }
- }
- if ($d eq '_') {
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
- }
- if ( $alpha ) {
- return BADVERSION($s,$errstr,"Invalid version format (multiple underscores)");
- }
- $d++;
- $alpha = TRUE;
- }
- elsif ($d eq '.') {
- if ($alpha) {
- return BADVERSION($s,$errstr,"Invalid version format (underscores before decimal)");
- }
- $saw_decimal++;
- $d++;
- }
- elsif (!isDIGIT($d)) {
- last;
- }
- $j = 0;
- }
-
- if ($strict && $i < 2) {
- # requires v1.2.3
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
- }
- }
- } # end if dotted-decimal
- else
- { # decimal versions
- my $j = 0;
- # special $strict case for leading '.' or '0'
- if ($strict) {
- if ($d eq '.') {
- return BADVERSION($s,$errstr,"Invalid version format (0 before decimal required)");
- }
- if ($d eq '0' && isDIGIT($d+1)) {
- return BADVERSION($s,$errstr,"Invalid version format (no leading zeros)");
- }
- }
-
- # and we never support negative version numbers
- if ($d eq '-') {
- return BADVERSION($s,$errstr,"Invalid version format (negative version number)");
- }
-
- # consume all of the integer part
- while (isDIGIT($d)) {
- $d++;
- }
-
- # look for a fractional part
- if ($d eq '.') {
- # we found it, so consume it
- $saw_decimal++;
- $d++;
- }
- elsif (!$d || $d eq ';' || isSPACE($d) || $d eq '}') {
- if ( $d == $s ) {
- # found nothing
- return BADVERSION($s,$errstr,"Invalid version format (version required)");
- }
- # found just an integer
- goto version_prescan_finish;
- }
- elsif ( $d == $s ) {
- # didn't find either integer or period
- return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
- }
- elsif ($d eq '_') {
- # underscore can't come after integer part
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
- }
- elsif (isDIGIT($d+1)) {
- return BADVERSION($s,$errstr,"Invalid version format (alpha without decimal)");
- }
- else {
- return BADVERSION($s,$errstr,"Invalid version format (misplaced underscore)");
- }
- }
- elsif ($d) {
- # anything else after integer part is just invalid data
- return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
- }
-
- # scan the fractional part after the decimal point
- if ($d && !isDIGIT($d) && ($strict || ! ($d eq ';' || isSPACE($d) || $d eq '}') )) {
- # $strict or lax-but-not-the-end
- return BADVERSION($s,$errstr,"Invalid version format (fractional part required)");
- }
-
- while (isDIGIT($d)) {
- $d++; $j++;
- if ($d eq '.' && isDIGIT($d-1)) {
- if ($alpha) {
- return BADVERSION($s,$errstr,"Invalid version format (underscores before decimal)");
- }
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions must begin with 'v')");
- }
- $d = $s; # start all over again
- $qv = TRUE;
- goto dotted_decimal_version;
- }
- if ($d eq '_') {
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
- }
- if ( $alpha ) {
- return BADVERSION($s,$errstr,"Invalid version format (multiple underscores)");
- }
- if ( ! isDIGIT($d+1) ) {
- return BADVERSION($s,$errstr,"Invalid version format (misplaced underscore)");
- }
- $width = $j;
- $d++;
- $alpha = TRUE;
- }
- }
- }
-
-version_prescan_finish:
- while (isSPACE($d)) {
- $d++;
- }
-
- if ($d && !isDIGIT($d) && (! ($d eq ';' || $d eq '}') )) {
- # trailing non-numeric data
- return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
- }
-
- if (defined $sqv) {
- $$sqv = $qv;
- }
- if (defined $swidth) {
- $$swidth = $width;
- }
- if (defined $ssaw_decimal) {
- $$ssaw_decimal = $saw_decimal;
- }
- if (defined $salpha) {
- $$salpha = $alpha;
- }
- return $d;
-}
-
-sub scan_version {
- my ($s, $rv, $qv) = @_;
- my $start;
- my $pos;
- my $last;
- my $errstr;
- my $saw_decimal = 0;
- my $width = 3;
- my $alpha = FALSE;
- my $vinf = FALSE;
- my @av;
-
- $s = new ExtUtils::MakeMaker::charstar $s;
-
- while (isSPACE($s)) { # leading whitespace is OK
- $s++;
- }
-
- $last = prescan_version($s, FALSE, \$errstr, \$qv, \$saw_decimal,
- \$width, \$alpha);
-
- if ($errstr) {
- # 'undef' is a special case and not an error
- if ( $s ne 'undef') {
- require Carp;
- Carp::croak($errstr);
- }
- }
-
- $start = $s;
- if ($s eq 'v') {
- $s++;
- }
- $pos = $s;
-
- if ( $qv ) {
- $$rv->{qv} = $qv;
- }
- if ( $alpha ) {
- $$rv->{alpha} = $alpha;
- }
- if ( !$qv && $width < 3 ) {
- $$rv->{width} = $width;
- }
-
- while (isDIGIT($pos)) {
- $pos++;
- }
- if (!isALPHA($pos)) {
- my $rev;
-
- for (;;) {
- $rev = 0;
- {
- # this is atoi() that delimits on underscores
- my $end = $pos;
- my $mult = 1;
- my $orev;
-
- # the following if() will only be true after the decimal
- # point of a version originally created with a bare
- # floating point number, i.e. not quoted in any way
- #
- if ( !$qv && $s > $start && $saw_decimal == 1 ) {
- $mult *= 100;
- while ( $s < $end ) {
- $orev = $rev;
- $rev += $s * $mult;
- $mult /= 10;
- if ( (abs($orev) > abs($rev))
- || (abs($rev) > $VERSION_MAX )) {
- warn("Integer overflow in version %d",
- $VERSION_MAX);
- $s = $end - 1;
- $rev = $VERSION_MAX;
- $vinf = 1;
- }
- $s++;
- if ( $s eq '_' ) {
- $s++;
- }
- }
- }
- else {
- while (--$end >= $s) {
- $orev = $rev;
- $rev += $end * $mult;
- $mult *= 10;
- if ( (abs($orev) > abs($rev))
- || (abs($rev) > $VERSION_MAX )) {
- warn("Integer overflow in version");
- $end = $s - 1;
- $rev = $VERSION_MAX;
- $vinf = 1;
- }
- }
- }
- }
-
- # Append revision
- push @av, $rev;
- if ( $vinf ) {
- $s = $last;
- last;
- }
- elsif ( $pos eq '.' ) {
- $s = ++$pos;
- }
- elsif ( $pos eq '_' && isDIGIT($pos+1) ) {
- $s = ++$pos;
- }
- elsif ( $pos eq ',' && isDIGIT($pos+1) ) {
- $s = ++$pos;
- }
- elsif ( isDIGIT($pos) ) {
- $s = $pos;
- }
- else {
- $s = $pos;
- last;
- }
- if ( $qv ) {
- while ( isDIGIT($pos) ) {
- $pos++;
- }
- }
- else {
- my $digits = 0;
- while ( ( isDIGIT($pos) || $pos eq '_' ) && $digits < 3 ) {
- if ( $pos ne '_' ) {
- $digits++;
- }
- $pos++;
- }
- }
- }
- }
- if ( $qv ) { # quoted versions always get at least three terms
- my $len = $#av;
- # This for loop appears to trigger a compiler bug on OS X, as it
- # loops infinitely. Yes, len is negative. No, it makes no sense.
- # Compiler in question is:
- # gcc version 3.3 20030304 (Apple Computer, Inc. build 1640)
- # for ( len = 2 - len; len > 0; len-- )
- # av_push(MUTABLE_AV(sv), newSViv(0));
- #
- $len = 2 - $len;
- while ($len-- > 0) {
- push @av, 0;
- }
- }
-
- # need to save off the current version string for later
- if ( $vinf ) {
- $$rv->{original} = "v.Inf";
- $$rv->{vinf} = 1;
- }
- elsif ( $s > $start ) {
- $$rv->{original} = $start->currstr($s);
- if ( $qv && $saw_decimal == 1 && $start ne 'v' ) {
- # need to insert a v to be consistent
- $$rv->{original} = 'v' . $$rv->{original};
- }
- }
- else {
- $$rv->{original} = '0';
- push(@av, 0);
- }
-
- # And finally, store the AV in the hash
- $$rv->{version} = \@av;
-
- # fix RT#19517 - special case 'undef' as string
- if ($s eq 'undef') {
- $s += 5;
- }
-
- return $s;
-}
-
-sub new {
- my $class = shift;
- unless (defined $class or $#_ > 1) {
- require Carp;
- Carp::croak('Usage: version::new(class, version)');
- }
-
- my $self = bless ({}, ref ($class) || $class);
- my $qv = FALSE;
-
- if ( $#_ == 1 ) { # must be CVS-style
- $qv = TRUE;
- }
- my $value = pop; # always going to be the last element
-
- if ( ref($value) && eval('$value->isa("version")') ) {
- # Can copy the elements directly
- $self->{version} = [ @{$value->{version} } ];
- $self->{qv} = 1 if $value->{qv};
- $self->{alpha} = 1 if $value->{alpha};
- $self->{original} = ''.$value->{original};
- return $self;
- }
-
- if ( not defined $value or $value =~ /^undef$/ ) {
- # RT #19517 - special case for undef comparison
- # or someone forgot to pass a value
- push @{$self->{version}}, 0;
- $self->{original} = "0";
- return ($self);
- }
-
-
- if (ref($value) =~ m/ARRAY|HASH/) {
- require Carp;
- Carp::croak("Invalid version format (non-numeric data)");
- }
-
- $value = _un_vstring($value);
-
- if ($Config{d_setlocale} && eval { require POSIX } ) {
- require locale;
- my $currlocale = POSIX::setlocale(&POSIX::LC_ALL);
-
- # if the current locale uses commas for decimal points, we
- # just replace commas with decimal places, rather than changing
- # locales
- if ( POSIX::localeconv()->{decimal_point} eq ',' ) {
- $value =~ tr/,/./;
- }
- }
-
- # exponential notation
- if ( $value =~ /\d+.?\d*e[-+]?\d+/ ) {
- $value = sprintf("%.9f",$value);
- $value =~ s/(0+)$//; # trim trailing zeros
- }
-
- my $s = scan_version($value, \$self, $qv);
-
- if ($s) { # must be something left over
- warn("Version string '%s' contains invalid data; "
- ."ignoring: '%s'", $value, $s);
- }
-
- return ($self);
-}
-
-*parse = \&new;
-
-sub numify {
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- my $width = $self->{width} || 3;
- my $alpha = $self->{alpha} || "";
- my $len = $#{$self->{version}};
- my $digit = $self->{version}[0];
- my $string = sprintf("%d.", $digit );
-
- for ( my $i = 1 ; $i < $len ; $i++ ) {
- $digit = $self->{version}[$i];
- if ( $width < 3 ) {
- my $denom = 10**(3-$width);
- my $quot = int($digit/$denom);
- my $rem = $digit - ($quot * $denom);
- $string .= sprintf("%0".$width."d_%d", $quot, $rem);
- }
- else {
- $string .= sprintf("%03d", $digit);
- }
- }
-
- if ( $len > 0 ) {
- $digit = $self->{version}[$len];
- if ( $alpha && $width == 3 ) {
- $string .= "_";
- }
- $string .= sprintf("%0".$width."d", $digit);
- }
- else # $len = 0
- {
- $string .= sprintf("000");
- }
-
- return $string;
-}
-
-sub normal {
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- my $alpha = $self->{alpha} || "";
- my $len = $#{$self->{version}};
- my $digit = $self->{version}[0];
- my $string = sprintf("v%d", $digit );
-
- for ( my $i = 1 ; $i < $len ; $i++ ) {
- $digit = $self->{version}[$i];
- $string .= sprintf(".%d", $digit);
- }
-
- if ( $len > 0 ) {
- $digit = $self->{version}[$len];
- if ( $alpha ) {
- $string .= sprintf("_%0d", $digit);
- }
- else {
- $string .= sprintf(".%0d", $digit);
- }
- }
-
- if ( $len <= 2 ) {
- for ( $len = 2 - $len; $len != 0; $len-- ) {
- $string .= sprintf(".%0d", 0);
- }
- }
-
- return $string;
-}
-
-sub stringify {
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- return exists $self->{original}
- ? $self->{original}
- : exists $self->{qv}
- ? $self->normal
- : $self->numify;
-}
-
-sub vcmp {
- require UNIVERSAL;
- my ($left,$right,$swap) = @_;
- my $class = ref($left);
- unless ( UNIVERSAL::isa($right, $class) ) {
- $right = $class->new($right);
- }
-
- if ( $swap ) {
- ($left, $right) = ($right, $left);
- }
- unless (_verify($left)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- unless (_verify($right)) {
- require Carp;
- Carp::croak("Invalid version format");
- }
- my $l = $#{$left->{version}};
- my $r = $#{$right->{version}};
- my $m = $l < $r ? $l : $r;
- my $lalpha = $left->is_alpha;
- my $ralpha = $right->is_alpha;
- my $retval = 0;
- my $i = 0;
- while ( $i <= $m && $retval == 0 ) {
- $retval = $left->{version}[$i] <=> $right->{version}[$i];
- $i++;
- }
-
- # tiebreaker for alpha with identical terms
- if ( $retval == 0
- && $l == $r
- && $left->{version}[$m] == $right->{version}[$m]
- && ( $lalpha || $ralpha ) ) {
-
- if ( $lalpha && !$ralpha ) {
- $retval = -1;
- }
- elsif ( $ralpha && !$lalpha) {
- $retval = +1;
- }
- }
-
- # possible match except for trailing 0's
- if ( $retval == 0 && $l != $r ) {
- if ( $l < $r ) {
- while ( $i <= $r && $retval == 0 ) {
- if ( $right->{version}[$i] != 0 ) {
- $retval = -1; # not a match after all
- }
- $i++;
- }
- }
- else {
- while ( $i <= $l && $retval == 0 ) {
- if ( $left->{version}[$i] != 0 ) {
- $retval = +1; # not a match after all
- }
- $i++;
- }
- }
- }
-
- return $retval;
-}
-
-sub vbool {
- my ($self) = @_;
- return vcmp($self,$self->new("0"),1);
-}
-
-sub vnoop {
- require Carp;
- Carp::croak("operation not supported with version object");
-}
-
-sub is_alpha {
- my ($self) = @_;
- return (exists $self->{alpha});
-}
-
-sub qv {
- my $value = shift;
- my $class = $CLASS;
- if (@_) {
- $class = ref($value) || $value;
- $value = shift;
- }
-
- $value = _un_vstring($value);
- $value = 'v'.$value unless $value =~ /(^v|\d+\.\d+\.\d)/;
- my $obj = $CLASS->new($value);
- return bless $obj, $class;
-}
-
-*declare = \&qv;
-
-sub is_qv {
- my ($self) = @_;
- return (exists $self->{qv});
-}
-
-
-sub _verify {
- my ($self) = @_;
- if ( ref($self)
- && eval { exists $self->{version} }
- && ref($self->{version}) eq 'ARRAY'
- ) {
- return 1;
- }
- else {
- return 0;
- }
-}
-
-sub _is_non_alphanumeric {
- my $s = shift;
- $s = new ExtUtils::MakeMaker::charstar $s;
- while ($s) {
- return 0 if isSPACE($s); # early out
- return 1 unless (isALPHA($s) || isDIGIT($s) || $s =~ /[.-]/);
- $s++;
- }
- return 0;
-}
-
-sub _un_vstring {
- my $value = shift;
- # may be a v-string
- if ( length($value) >= 3 && $value !~ /[._]/
- && _is_non_alphanumeric($value)) {
- my $tvalue;
- if ( $] ge 5.008_001 ) {
- $tvalue = _find_magic_vstring($value);
- $value = $tvalue if length $tvalue;
- }
- elsif ( $] ge 5.006_000 ) {
- $tvalue = sprintf("v%vd",$value);
- if ( $tvalue =~ /^v\d+(\.\d+){2,}$/ ) {
- # must be a v-string
- $value = $tvalue;
- }
- }
- }
- return $value;
-}
-
-sub _find_magic_vstring {
- my $value = shift;
- my $tvalue = '';
- require B;
- my $sv = B::svref_2object(\$value);
- my $magic = ref($sv) eq 'B::PVMG' ? $sv->MAGIC : undef;
- while ( $magic ) {
- if ( $magic->TYPE eq 'V' ) {
- $tvalue = $magic->PTR;
- $tvalue =~ s/^v?(.+)$/v$1/;
- last;
- }
- else {
- $magic = $magic->MOREMAGIC;
- }
- }
- return $tvalue;
-}
-
-sub _VERSION {
- my ($obj, $req) = @_;
- my $class = ref($obj) || $obj;
-
- no strict 'refs';
- if ( exists $INC{"$class.pm"} and not %{"$class\::"} and $] >= 5.008) {
- # file but no package
- require Carp;
- Carp::croak( "$class defines neither package nor VERSION"
- ."--version check failed");
- }
-
- my $version = eval "\$$class\::VERSION";
- if ( defined $version ) {
- local $^W if $] <= 5.008;
- $version = ExtUtils::MakeMaker::version::vpp->new($version);
- }
-
- if ( defined $req ) {
- unless ( defined $version ) {
- require Carp;
- my $msg = $] < 5.006
- ? "$class version $req required--this is only version "
- : "$class does not define \$$class\::VERSION"
- ."--version check failed";
-
- if ( $ENV{VERSION_DEBUG} ) {
- Carp::confess($msg);
- }
- else {
- Carp::croak($msg);
- }
- }
-
- $req = ExtUtils::MakeMaker::version::vpp->new($req);
-
- if ( $req > $version ) {
- require Carp;
- if ( $req->is_qv ) {
- Carp::croak(
- sprintf ("%s version %s required--".
- "this is only version %s", $class,
- $req->normal, $version->normal)
- );
- }
- else {
- Carp::croak(
- sprintf ("%s version %s required--".
- "this is only version %s", $class,
- $req->stringify, $version->stringify)
- );
- }
- }
- }
-
- return defined $version ? $version->stringify : undef;
-}
-
-1; #this line is important and will help the module return a true value
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm
index 97d4300814e..dc2310e0f98 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm
+++ b/Master/tlpkg/tlperl/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.04_01';
+our $VERSION = '7.10_02';
require Exporter;
our @ISA = ('Exporter');
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
index 3a9fc71361a..37180b89605 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
@@ -10,7 +10,7 @@ use Config;
our @ISA = qw(Exporter);
our @EXPORT = qw(&Mksymlists);
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
sub Mksymlists {
my(%spec) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
index 0987500ba4d..32d74e18e8d 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
@@ -11,7 +11,7 @@ use Symbol;
our $VERSION;
BEGIN {
- $VERSION = '3.28';
+ $VERSION = '3.31';
}
use ExtUtils::ParseXS::Constants $VERSION;
use ExtUtils::ParseXS::CountLines $VERSION;
@@ -579,7 +579,7 @@ EOF
} );
}
else {
- print "\t$class *";
+ print "\t" . map_type($self, "$class *");
$self->{var_types}->{"THIS"} = "$class *";
$self->generate_init( {
type => "$class *",
@@ -1577,6 +1577,25 @@ sub QuoteArgs {
return join (' ', ($cmd, @args));
}
+# code copied from CPAN::HandleConfig::safe_quote
+# - that has doc saying leave if start/finish with same quote, but no code
+# given text, will conditionally quote it to protect from shell
+{
+ my ($quote, $use_quote) = $^O eq 'MSWin32'
+ ? (q{"}, q{"})
+ : (q{"'}, q{'});
+ sub _safe_quote {
+ my ($self, $command) = @_;
+ # Set up quote/default quote
+ if (defined($command)
+ and $command =~ /\s/
+ and $command !~ /[$quote]/) {
+ return qq{$use_quote$command$use_quote}
+ }
+ return $command;
+ }
+}
+
sub INCLUDE_COMMAND_handler {
my $self = shift;
$_ = shift;
@@ -1598,7 +1617,8 @@ sub INCLUDE_COMMAND_handler {
# If $^X is used in INCLUDE_COMMAND, we know it's supposed to be
# the same perl interpreter as we're currently running
- s/^\s*\$\^X/$^X/;
+ my $X = $self->_safe_quote($^X); # quotes if has spaces
+ s/^\s*\$\^X/$X/;
# open the new file
open ($self->{FH}, "-|", $_)
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm
index 5603613489c..2319a24c2c8 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Symbol;
-our $VERSION = '3.28';
+our $VERSION = '3.31';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm
index b30812c5f9a..222a95c245d 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm
@@ -1,7 +1,7 @@
package ExtUtils::ParseXS::CountLines;
use strict;
-our $VERSION = '3.28';
+our $VERSION = '3.31';
our $SECTION_END_MARKER;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm
index b4f41cb2fac..73153326e91 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm
@@ -2,7 +2,7 @@ package ExtUtils::ParseXS::Eval;
use strict;
use warnings;
-our $VERSION = '3.28';
+our $VERSION = '3.31';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm
index 37094cb3337..41a9f6de57c 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm
@@ -5,7 +5,7 @@ use Exporter;
use File::Spec;
use ExtUtils::ParseXS::Constants ();
-our $VERSION = '3.28';
+our $VERSION = '3.31';
our (@ISA, @EXPORT_OK);
@ISA = qw(Exporter);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm
index f9b568daf48..48d623ef71d 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps;
use 5.006001;
use strict;
use warnings;
-our $VERSION = '3.28';
+our $VERSION = '3.31';
require ExtUtils::ParseXS;
require ExtUtils::ParseXS::Constants;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm
index c0d13c68ba6..ffed504f9ff 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps::Cmd;
use 5.006001;
use strict;
use warnings;
-our $VERSION = '3.28';
+our $VERSION = '3.31';
use ExtUtils::Typemaps;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm
index 3a7c6fe6fda..86c646d543e 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps::InputMap;
use 5.006001;
use strict;
use warnings;
-our $VERSION = '3.28';
+our $VERSION = '3.31';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm
index 758ad5ef056..32cf9f93270 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps::OutputMap;
use 5.006001;
use strict;
use warnings;
-our $VERSION = '3.28';
+our $VERSION = '3.31';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm
index 47a26624b12..abe93cb8ebe 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm
@@ -4,7 +4,7 @@ use strict;
use warnings;
require ExtUtils::Typemaps;
-our $VERSION = '3.28';
+our $VERSION = '3.31';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm b/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm
index 2a5323e1709..1756998c4d1 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm
@@ -3,7 +3,7 @@ package ExtUtils::testlib;
use strict;
use warnings;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10_02';
use Cwd;
use File::Spec;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/typemap b/Master/tlpkg/tlperl/lib/ExtUtils/typemap
index 0b09641f8d6..4bfba95e9e0 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/typemap
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/typemap
@@ -378,7 +378,19 @@ T_PACKEDARRAY
T_ARRAY
{
U32 ix_$var;
- EXTEND(SP,size_$var);
+ SSize_t extend_size =
+ /* The weird way this is written is because g++ is dumb
+ * enough to warn "comparison is always false" on something
+ * like:
+ *
+ * sizeof(a) > sizeof(b) && a > B_t_MAX
+ *
+ * (where the LH condition is false)
+ */
+ (size_$var > (sizeof(size_$var) > sizeof(SSize_t)
+ ? SSize_t_MAX : size_$var))
+ ? -1 : (SSize_t)size_$var;
+ EXTEND(SP, extend_size);
for (ix_$var = 0; ix_$var < size_$var; ix_$var++) {
ST(ix_$var) = sv_newmortal();
DO_ARRAY_ELEM
@@ -388,32 +400,48 @@ T_STDIO
{
GV *gv = newGVgen("$Package");
PerlIO *fp = PerlIO_importFILE($var,0);
- if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) )
- sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
+ if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) ) {
+ SV *rv = newRV_inc((SV*)gv);
+ rv = sv_bless(rv, GvSTASH(gv));
+ ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);"
+ : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"}
+ }${"$var" ne "RETVAL" ? \"
else
- $arg = &PL_sv_undef;
+ sv_setsv($arg, &PL_sv_undef);\n" : \""}
}
T_IN
{
GV *gv = newGVgen("$Package");
- if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) )
- sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
+ if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) ) {
+ SV *rv = newRV_inc((SV*)gv);
+ rv = sv_bless(rv, GvSTASH(gv));
+ ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);"
+ : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"}
+ }${"$var" ne "RETVAL" ? \"
else
- $arg = &PL_sv_undef;
+ sv_setsv($arg, &PL_sv_undef);\n" : \""}
}
T_INOUT
{
GV *gv = newGVgen("$Package");
- if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) )
- sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
+ if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) ) {
+ SV *rv = newRV_inc((SV*)gv);
+ rv = sv_bless(rv, GvSTASH(gv));
+ ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);"
+ : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"}
+ }${"$var" ne "RETVAL" ? \"
else
- $arg = &PL_sv_undef;
+ sv_setsv($arg, &PL_sv_undef);\n" : \""}
}
T_OUT
{
GV *gv = newGVgen("$Package");
- if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) )
- sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
+ if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) ) {
+ SV *rv = newRV_inc((SV*)gv);
+ rv = sv_bless(rv, GvSTASH(gv));
+ ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);"
+ : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"}
+ }${"$var" ne "RETVAL" ? \"
else
- $arg = &PL_sv_undef;
+ sv_setsv($arg, &PL_sv_undef);\n" : \""}
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp b/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp
index e2ac71a3234..d596cdff42a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp
@@ -1,5 +1,6 @@
#!perl
use 5.006;
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
eval {
require ExtUtils::ParseXS;