summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/ExtUtils
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-03-10 21:56:14 +0000
committerKarl Berry <karl@freefriends.org>2019-03-10 21:56:14 +0000
commite0a2a718e89f9700d627f1e6a8eea8f21d2fbeb8 (patch)
tree39972f65008b0d70f306a5f976494d29411bc41e /Master/tlpkg/tlperl/lib/ExtUtils
parentb206fdc77d81ed1600949062f08de5690a4bf66f (diff)
tl19 perl 5.28.1 for Windows, from Siep
git-svn-id: svn://tug.org/texlive/trunk@50322 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlperl/lib/ExtUtils')
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm23
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Command.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Constant.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Constant/Base.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Constant/ProxySubs.pm32
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Constant/Utils.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm15
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Install.pm192
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm26
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm28
-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.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm10
-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.pm175
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm29
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm2
-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.pm58
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod20
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm11
-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/Packlist.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm14
-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.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm6
-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/typemap12
65 files changed, 528 insertions, 321 deletions
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
index 6ce0c687943..8d1a0d4915a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
@@ -1,5 +1,5 @@
package ExtUtils::CBuilder;
-$ExtUtils::CBuilder::VERSION = '0.280225';
+
use File::Spec ();
use File::Path ();
use File::Basename ();
@@ -7,7 +7,8 @@ use Perl::OSType qw/os_type/;
use warnings;
use strict;
-use vars qw(@ISA);
+our $VERSION = '0.280230'; # VERSION
+our @ISA;
# We only use this once - don't waste a symbol table entry on it.
# More importantly, don't make it an inheritable method.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
index 60b2f432dfb..9f8427f6de2 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
@@ -1,5 +1,4 @@
package ExtUtils::CBuilder::Base;
-$ExtUtils::CBuilder::Base::VERSION = '0.280225';
use strict;
use warnings;
use File::Spec;
@@ -10,6 +9,8 @@ use Text::ParseWords;
use IPC::Cmd qw(can_run);
use File::Temp qw(tempfile);
+our $VERSION = '0.280230'; # VERSION
+
# More details about C/C++ compilers:
# http://developers.sun.com/sunstudio/documentation/product/compiler.jsp
# http://gcc.gnu.org/
@@ -45,16 +46,26 @@ sub new {
if defined $ENV{LDFLAGS};
unless ( exists $self->{config}{cxx} ) {
- my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
+
+ my ($ccbase, $ccpath, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
+
+ ## If the path is just "cc", fileparse returns $ccpath as "./"
+ $ccpath = "" if $self->{config}{cc} =~ /^$ccbase$ccsfx$/;
+
foreach my $cxx (@{$cc2cxx{$ccbase}}) {
- if( can_run( File::Spec->catfile( $ccpath, $cxx, $ccsfx ) ) ) {
- $self->{config}{cxx} = File::Spec->catfile( $ccpath, $cxx, $ccsfx );
+ my $cxx1 = File::Spec->catfile( $ccpath, $cxx . $ccsfx);
+
+ if( can_run( $cxx1 ) ) {
+ $self->{config}{cxx} = $cxx1;
last;
}
- if( can_run( File::Spec->catfile( $cxx, $ccsfx ) ) ) {
- $self->{config}{cxx} = File::Spec->catfile( $cxx, $ccsfx );
+ my $cxx2 = $cxx . $ccsfx;
+
+ if( can_run( $cxx2 ) ) {
+ $self->{config}{cxx} = $cxx2;
last;
}
+
if( can_run( $cxx ) ) {
$self->{config}{cxx} = $cxx;
last;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
index 399e254aa0c..655235ebdcf 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
@@ -1,11 +1,11 @@
package ExtUtils::CBuilder::Platform::Unix;
-$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280225';
+
use warnings;
use strict;
use ExtUtils::CBuilder::Base;
-use vars qw(@ISA);
-@ISA = qw(ExtUtils::CBuilder::Base);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Base);
sub link_executable {
my $self = shift;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
index e9d9f6fc2fd..020c01eb6a5 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
@@ -1,11 +1,11 @@
package ExtUtils::CBuilder::Platform::VMS;
-$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280225';
+
use warnings;
use strict;
use ExtUtils::CBuilder::Base;
-use vars qw(@ISA);
-@ISA = qw(ExtUtils::CBuilder::Base);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Base);
use File::Spec::Functions qw(catfile catdir);
use Config;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
index 80b8f29cd2d..8263b954abf 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
@@ -1,5 +1,4 @@
package ExtUtils::CBuilder::Platform::Windows;
-$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280225';
use strict;
use warnings;
@@ -9,8 +8,8 @@ use File::Spec;
use ExtUtils::CBuilder::Base;
use IO::File;
-use vars qw(@ISA);
-@ISA = qw(ExtUtils::CBuilder::Base);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Base);
=begin comment
@@ -151,7 +150,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\/lib\/CORE/ 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 513c4acaeea..93f47d79588 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,7 @@
package ExtUtils::CBuilder::Platform::Windows::BCC;
-$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280225';
+
+our $VERSION = '0.280230'; # VERSION
+
use strict;
use warnings;
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 19851df352e..144e31ad80f 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,7 @@
package ExtUtils::CBuilder::Platform::Windows::GCC;
-$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280225';
+
+our $VERSION = '0.280230'; # VERSION
+
use warnings;
use strict;
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 c8d675f4978..c238979fb63 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,7 @@
package ExtUtils::CBuilder::Platform::Windows::MSVC;
-$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280225';
+
+our $VERSION = '0.280230'; # VERSION
+
use warnings;
use strict;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
index 488d3e68bc9..0d96613b431 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
@@ -1,12 +1,12 @@
package ExtUtils::CBuilder::Platform::aix;
-$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280225';
+
use warnings;
use strict;
use ExtUtils::CBuilder::Platform::Unix;
use File::Spec;
-use vars qw(@ISA);
-@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm
index b9e6af3129c..7d14706a003 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm
@@ -1,13 +1,13 @@
package ExtUtils::CBuilder::Platform::android;
-$ExtUtils::CBuilder::Platform::android::VERSION = '0.280225';
+
use warnings;
use strict;
use File::Spec;
use ExtUtils::CBuilder::Platform::Unix;
use Config;
-use vars qw(@ISA);
-@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
# The Android linker will not recognize symbols from
# libperl unless the module explicitly depends on it.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
index 339840f8c19..a5881af645b 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
@@ -1,12 +1,12 @@
package ExtUtils::CBuilder::Platform::cygwin;
-$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280225';
+
use warnings;
use strict;
use File::Spec;
use ExtUtils::CBuilder::Platform::Unix;
-use vars qw(@ISA);
-@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
# TODO: If a specific exe_file name is requested, if the exe created
# doesn't have that name, we might want to rename it. Apparently asking
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
index 04a87da3311..82e7f2afec1 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
@@ -1,11 +1,11 @@
package ExtUtils::CBuilder::Platform::darwin;
-$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280225';
+
use warnings;
use strict;
use ExtUtils::CBuilder::Platform::Unix;
-use vars qw(@ISA);
-@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub compile {
my $self = shift;
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 d503e8614bf..50efc9143a6 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
@@ -1,12 +1,12 @@
package ExtUtils::CBuilder::Platform::dec_osf;
-$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280225';
+
use warnings;
use strict;
use ExtUtils::CBuilder::Platform::Unix;
use File::Spec;
-use vars qw(@ISA);
-@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub link_executable {
my $self = shift;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
index 8d0e3eb0dc2..b12f35d2aa2 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
@@ -1,11 +1,11 @@
package ExtUtils::CBuilder::Platform::os2;
-$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280225';
+
use warnings;
use strict;
use ExtUtils::CBuilder::Platform::Unix;
-use vars qw(@ISA);
-@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm
index c9ff022f033..4924c81fbea 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm
@@ -7,7 +7,7 @@ use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
@ISA = qw(Exporter);
@EXPORT = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod
dos2unix);
-$VERSION = '7.24';
+$VERSION = '7.34';
$VERSION = eval $VERSION;
my $Is_VMS = $^O eq 'VMS';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
index 69779b2912e..0323ed40fa7 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
my $Is_VMS = $^O eq 'VMS';
@@ -205,7 +205,7 @@ Key/value pairs are extra information about the module. Fields include:
installed into which directory your module was out into
LINKTYPE dynamic or static linking
VERSION module version number
- EXE_FILES any executables installed in a space seperated
+ EXE_FILES any executables installed in a space separated
list
=cut
@@ -219,7 +219,8 @@ sub perllocal_install {
: @ARGV;
my $pod;
- $pod = sprintf <<'POD', scalar(localtime), $type, $name, $name;
+ my $time = gmtime($ENV{SOURCE_DATE_EPOCH} || time);
+ $pod = sprintf <<'POD', scalar($time), $type, $name, $name;
=head2 %s: C<%s> L<%s|%s>
=over 4
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Constant.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Constant.pm
index 0dc925873dc..e6d71f9b10b 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Constant.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Constant.pm
@@ -1,6 +1,6 @@
package ExtUtils::Constant;
use vars qw (@ISA $VERSION @EXPORT_OK %EXPORT_TAGS);
-$VERSION = 0.23;
+$VERSION = '0.25';
=head1 NAME
@@ -198,17 +198,17 @@ $XS_subname(sv)
EOT
if ($params->{IV}) {
- $xs .= " IV iv;\n";
+ $xs .= " IV iv = 0; /* avoid uninit var warning */\n";
} else {
$xs .= " /* IV\t\tiv;\tUncomment this if you need to return IVs */\n";
}
if ($params->{NV}) {
- $xs .= " NV nv;\n";
+ $xs .= " NV nv = 0.0; /* avoid uninit var warning */\n";
} else {
$xs .= " /* NV\t\tnv;\tUncomment this if you need to return NVs */\n";
}
if ($params->{PV}) {
- $xs .= " const char *pv;\n";
+ $xs .= " const char *pv = NULL; /* avoid uninit var warning */\n";
} else {
$xs .=
" /* const char\t*pv;\tUncomment this if you need to return PVs */\n";
@@ -272,7 +272,7 @@ EOT
$xs .= " case PERL_constant_IS$type:\n";
if (length $XS_Constant{$type}) {
$xs .= << "EOT";
- EXTEND(SP, 1);
+ EXTEND(SP, 2);
PUSHs(&PL_sv_undef);
$XS_Constant{$type};
EOT
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Base.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Base.pm
index b6abe1c201a..bd0d8a784b9 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Base.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Base.pm
@@ -5,7 +5,7 @@ use vars qw($VERSION);
use Carp;
use Text::Wrap;
use ExtUtils::Constant::Utils qw(C_stringify perl_stringify);
-$VERSION = '0.05';
+$VERSION = '0.06';
use constant is_perl56 => ($] < 5.007 && $] > 5.005_50);
@@ -331,7 +331,7 @@ of C code to proceed and follow the assignment. I<pre> will be at the start
of a block, so variables may be defined in it.
=cut
-# Hmm. value undef to to NOTDEF? value () to do NOTFOUND?
+# Hmm. value undef to do NOTDEF? value () to do NOTFOUND?
sub assign {
my $self = shift;
@@ -581,7 +581,8 @@ sub switch_clause {
$body .= $indent . "case '" . C_stringify ($char) . "':\n";
foreach my $thisone (sort {
# Deal with the case of an item actually being an array ref to 1 or 2
- # hashrefs. Don't assign to $a or $b, as they're aliases to the orignal
+ # hashrefs. Don't assign to $a or $b, as they're aliases to the
+ # original
my $l = ref $a eq 'ARRAY' ? ($a->[0] || $->[1]) : $a;
my $r = ref $b eq 'ARRAY' ? ($b->[0] || $->[1]) : $b;
# Sort by weight first
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/ProxySubs.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/ProxySubs.pm
index 545d3221a01..0aee5233fe0 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/ProxySubs.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/ProxySubs.pm
@@ -9,7 +9,7 @@ require ExtUtils::Constant::XS;
use ExtUtils::Constant::Utils qw(C_stringify);
use ExtUtils::Constant::XS qw(%XS_TypeSet);
-$VERSION = '0.08';
+$VERSION = '0.09';
@ISA = 'ExtUtils::Constant::XS';
%type_to_struct =
@@ -268,7 +268,7 @@ EO_NOPCS
SV *sv;
if (!he) {
- Perl_croak($athx "Couldn't add key '%s' to %%$package_sprintf_safe\::",
+ croak("Couldn't add key '%s' to %%$package_sprintf_safe\::",
name);
}
sv = HeVAL(he);
@@ -306,9 +306,8 @@ static int
Im_sorry_Dave(pTHX_ SV *sv, MAGIC *mg)
{
PERL_UNUSED_ARG(mg);
- Perl_croak(aTHX_
- "Your vendor has not defined $package_sprintf_safe macro %"SVf
- " used", sv);
+ croak("Your vendor has not defined $package_sprintf_safe macro %"SVf
+ " used", sv);
NORETURN_FUNCTION_END;
}
@@ -373,7 +372,7 @@ MISSING
print $xs_fh <<"EOBOOT";
BOOT:
{
-#ifdef dTHX
+#if defined(dTHX) && !defined(PERL_NO_GET_CONTEXT)
dTHX;
#endif
HV *symbol_table = get_hv("$symbol_table", GV_ADD);
@@ -491,9 +490,8 @@ EXPLODE
HEK *hek;
#endif
if (!he) {
- Perl_croak($athx
- "Couldn't add key '%s' to %%$package_sprintf_safe\::",
- value_for_notfound->name);
+ croak("Couldn't add key '%s' to %%$package_sprintf_safe\::",
+ value_for_notfound->name);
}
sv = HeVAL(he);
if (!SvOK(sv) && SvTYPE(sv) != SVt_PVGV) {
@@ -521,8 +519,8 @@ EXPLODE
if (!hv_common(${c_subname}_missing, NULL, HEK_KEY(hek),
HEK_LEN(hek), HEK_FLAGS(hek), HV_FETCH_ISSTORE,
&PL_sv_yes, HEK_HASH(hek)))
- Perl_croak($athx "Couldn't add key '%s' to missing_hash",
- value_for_notfound->name);
+ croak("Couldn't add key '%s' to missing_hash",
+ value_for_notfound->name);
#endif
DONT
@@ -629,13 +627,15 @@ EOA
if ((C_ARRAY_LENGTH(values_for_notfound) > 1)
? hv_exists_ent(${c_subname}_missing, sv, 0) : 0) {
sv = newSVpvf("Your vendor has not defined $package_sprintf_safe macro %" SVf
- ", used at %" COP_FILE_F " line %d\\n", sv,
- COP_FILE(cop), CopLINE(cop));
+ ", used at %" COP_FILE_F " line %" UVuf "\\n",
+ sv, COP_FILE(cop), (UV)CopLINE(cop));
} else
#endif
{
- sv = newSVpvf("%"SVf" is not a valid $package_sprintf_safe macro at %"
- COP_FILE_F " line %d\\n", sv, COP_FILE(cop), CopLINE(cop));
+ sv = newSVpvf("%" SVf
+ " is not a valid $package_sprintf_safe macro at %"
+ COP_FILE_F " line %" UVuf "\\n",
+ sv, COP_FILE(cop), (UV)CopLINE(cop));
}
croak_sv(sv_2mortal(sv));
EOC
@@ -671,7 +671,7 @@ $xs_subname(sv)
} else
#endif
{
- sv = newSVpvf("%"SVf" is not a valid $package_sprintf_safe macro",
+ sv = newSVpvf("%" SVf " is not a valid $package_sprintf_safe macro",
sv);
}
PUSHs(sv_2mortal(sv));
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Utils.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Utils.pm
index 9608256c34c..37e53f06ff7 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Utils.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Utils.pm
@@ -6,7 +6,7 @@ use Carp;
@ISA = 'Exporter';
@EXPORT_OK = qw(C_stringify perl_stringify);
-$VERSION = '0.03';
+$VERSION = '0.04';
use constant is_perl55 => ($] < 5.005_50);
use constant is_perl56 => ($] < 5.007 && $] > 5.005_50);
@@ -46,7 +46,7 @@ sub C_stringify {
# grr 5.6.1
confess "Wide character in '$_' intended as a C identifier"
if tr/\0-\377// != length;
- # grr 5.6.1 moreso because its regexps will break on data that happens to
+ # grr 5.6.1 more so because its regexps will break on data that happens to
# be utf8, which includes my 8 bit test cases.
$_ = pack 'C*', unpack 'U*', $_ . pack 'U*' if is_perl56;
s/\\/\\\\/g;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
index b26bf7382e0..e75e41f8c48 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
@@ -3,22 +3,19 @@ require Exporter;
use Config;
require File::Spec;
-use vars qw(@ISA @EXPORT $VERSION
- @Extensions $Verbose $lib_ext
- $opt_o $opt_s
- );
+our ( @Extensions, $opt_o, $opt_s );
use strict;
# This is not a dual-life module, so no need for development version numbers
-$VERSION = '1.34';
+our $VERSION = '1.35';
-@ISA = qw(Exporter);
-@EXPORT = qw(&xsinit &ldopts
+our @ISA = qw(Exporter);
+our @EXPORT = qw(&xsinit &ldopts
&ccopts &ccflags &ccdlflags &perl_inc
&xsi_header &xsi_protos &xsi_body);
-$Verbose = 0;
-$lib_ext = $Config{lib_ext} || '.a';
+our $Verbose = 0;
+our $lib_ext = $Config{lib_ext} || '.a';
sub is_cmd { $0 eq '-e' }
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
index 1e8ac4cd12b..047c007145e 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
@@ -1,24 +1,18 @@
package ExtUtils::Install;
use strict;
-use vars qw(@ISA @EXPORT $VERSION $MUST_REBOOT %Config);
-
-use AutoSplit;
-use Carp ();
use Config qw(%Config);
use Cwd qw(cwd);
-use Exporter;
-use ExtUtils::Packlist;
+use Exporter ();
use File::Basename qw(dirname);
-use File::Compare qw(compare);
use File::Copy;
-use File::Find qw(find);
use File::Path;
use File::Spec;
+our @ISA = ('Exporter');
+our @EXPORT = ('install','uninstall','pm_to_blib', 'install_default');
-@ISA = ('Exporter');
-@EXPORT = ('install','uninstall','pm_to_blib', 'install_default');
+our $MUST_REBOOT;
=pod
@@ -38,11 +32,11 @@ ExtUtils::Install - install files from here to there
=head1 VERSION
-2.04
+2.14
=cut
-$VERSION = '2.04'; # <-- do not forget to update the POD section just above this line!
+our $VERSION = '2.14'; # <-- do not forget to update the POD section just above this line!
$VERSION = eval $VERSION;
=pod
@@ -95,18 +89,12 @@ Dies with a special message.
=cut
-my $Is_VMS = $^O eq 'VMS';
-my $Is_MacPerl = $^O eq 'MacOS';
-my $Is_Win32 = $^O eq 'MSWin32';
-my $Is_cygwin = $^O eq 'cygwin';
-my $CanMoveAtBoot = ($Is_Win32 || $Is_cygwin);
-
-# *note* CanMoveAtBoot is only incidentally the same condition as below
-# this needs not hold true in the future.
-my $Has_Win32API_File = ($Is_Win32 || $Is_cygwin)
- ? (eval {require Win32API::File; 1} || 0)
- : 0;
-
+BEGIN {
+ *Is_VMS = $^O eq 'VMS' ? sub(){1} : sub(){0};
+ *Is_Win32 = $^O eq 'MSWin32' ? sub(){1} : sub(){0};
+ *Is_cygwin = $^O eq 'cygwin' ? sub(){1} : sub(){0};
+ *CanMoveAtBoot = ($^O eq 'MSWin32' || $^O eq 'cygwin') ? sub(){1} : sub(){0};
+}
my $Inc_uninstall_warn_handler;
@@ -114,9 +102,12 @@ my $Inc_uninstall_warn_handler;
my $INSTALL_ROOT = $ENV{PERL_INSTALL_ROOT};
my $INSTALL_QUIET = $ENV{PERL_INSTALL_QUIET};
+$INSTALL_QUIET = 1
+ if (!exists $ENV{PERL_INSTALL_QUIET} and
+ defined $ENV{MAKEFLAGS} and
+ $ENV{MAKEFLAGS} =~ /\b(s|silent|quiet)\b/);
my $Curdir = File::Spec->curdir;
-my $Updir = File::Spec->updir;
sub _estr(@) {
return join "\n",'!' x 72,@_,'!' x 72,'';
@@ -132,9 +123,24 @@ sub _warnonce(@) {
sub _choke(@) {
my $first=shift;
my $msg=_estr "ERROR: $first",@_;
+ require Carp;
Carp::croak($msg);
}
+sub _croak {
+ require Carp;
+ Carp::croak(@_);
+}
+sub _confess {
+ require Carp;
+ Carp::confess(@_);
+}
+
+sub _compare {
+ require File::Compare;
+ File::Compare::compare(@_);
+}
+
sub _chmod($$;$) {
my ( $mode, $item, $verbose )=@_;
@@ -173,47 +179,53 @@ If $moan is true then returns 0 on error and warns instead of dies.
=cut
+{
+ my $Has_Win32API_File;
+ sub _move_file_at_boot { #XXX OS-SPECIFIC
+ my ( $file, $target, $moan )= @_;
+ _confess("Panic: Can't _move_file_at_boot on this platform!")
+ unless CanMoveAtBoot;
+
+ my $descr= ref $target
+ ? "'$file' for deletion"
+ : "'$file' for installation as '$target'";
+
+ # *note* CanMoveAtBoot is only incidentally the same condition as below
+ # this needs not hold true in the future.
+ $Has_Win32API_File = (Is_Win32 || Is_cygwin)
+ ? (eval {require Win32API::File; 1} || 0)
+ : 0 unless defined $Has_Win32API_File;
+ if ( ! $Has_Win32API_File ) {
+
+ my @msg=(
+ "Cannot schedule $descr at reboot.",
+ "Try installing Win32API::File to allow operations on locked files",
+ "to be scheduled during reboot. Or try to perform the operation by",
+ "hand yourself. (You may need to close other perl processes first)"
+ );
+ if ( $moan ) { _warnonce(@msg) } else { _choke(@msg) }
+ return 0;
+ }
+ my $opts= Win32API::File::MOVEFILE_DELAY_UNTIL_REBOOT();
+ $opts= $opts | Win32API::File::MOVEFILE_REPLACE_EXISTING()
+ unless ref $target;
+ _chmod( 0666, $file );
+ _chmod( 0666, $target ) unless ref $target;
-sub _move_file_at_boot { #XXX OS-SPECIFIC
- my ( $file, $target, $moan )= @_;
- Carp::confess("Panic: Can't _move_file_at_boot on this platform!")
- unless $CanMoveAtBoot;
-
- my $descr= ref $target
- ? "'$file' for deletion"
- : "'$file' for installation as '$target'";
-
- if ( ! $Has_Win32API_File ) {
-
- my @msg=(
- "Cannot schedule $descr at reboot.",
- "Try installing Win32API::File to allow operations on locked files",
- "to be scheduled during reboot. Or try to perform the operation by",
- "hand yourself. (You may need to close other perl processes first)"
- );
- if ( $moan ) { _warnonce(@msg) } else { _choke(@msg) }
+ if (Win32API::File::MoveFileEx( $file, $target, $opts )) {
+ $MUST_REBOOT ||= ref $target ? 0 : 1;
+ return 1;
+ } else {
+ my @msg=(
+ "MoveFileEx $descr at reboot failed: $^E",
+ "You may try to perform the operation by hand yourself. ",
+ "(You may need to close other perl processes first).",
+ );
+ if ( $moan ) { _warnonce(@msg) } else { _choke(@msg) }
+ }
return 0;
}
- my $opts= Win32API::File::MOVEFILE_DELAY_UNTIL_REBOOT();
- $opts= $opts | Win32API::File::MOVEFILE_REPLACE_EXISTING()
- unless ref $target;
-
- _chmod( 0666, $file );
- _chmod( 0666, $target ) unless ref $target;
-
- if (Win32API::File::MoveFileEx( $file, $target, $opts )) {
- $MUST_REBOOT ||= ref $target ? 0 : 1;
- return 1;
- } else {
- my @msg=(
- "MoveFileEx $descr at reboot failed: $^E",
- "You may try to perform the operation by hand yourself. ",
- "(You may need to close other perl processes first).",
- );
- if ( $moan ) { _warnonce(@msg) } else { _choke(@msg) }
- }
- return 0;
}
@@ -270,7 +282,7 @@ sub _unlink_or_rename { #XXX OS-SPECIFIC
my $error="$!";
_choke("Cannot unlink '$file': $!")
- unless $CanMoveAtBoot && $tryhard;
+ unless CanMoveAtBoot && $tryhard;
my $tmp= "AAA";
++$tmp while -e "$file.$tmp";
@@ -379,8 +391,8 @@ Abstract a -w check that tries to use POSIX::access() if possible.
sub _have_write_access {
my $dir=shift;
unless (defined $has_posix) {
- $has_posix= (!$Is_cygwin && !$Is_Win32
- && eval 'local $^W; require POSIX; 1') || 0;
+ $has_posix = (!Is_cygwin && !Is_Win32
+ && eval { local $^W; require POSIX; 1} ) || 0;
}
if ($has_posix) {
return POSIX::access($dir, POSIX::W_OK());
@@ -425,7 +437,7 @@ sub _can_write_dir {
my $path='';
my @make;
while (@dirs) {
- if ($Is_VMS) {
+ if (Is_VMS) {
$dir = File::Spec->catdir($vol,@dirs);
}
else {
@@ -519,7 +531,7 @@ sub _copy {
}
if (!$dry_run) {
File::Copy::copy($from,$to)
- or Carp::croak( _estr "ERROR: Cannot copy '$from' to '$to': $!" );
+ or _croak( _estr "ERROR: Cannot copy '$from' to '$to': $!" );
}
}
@@ -673,7 +685,7 @@ sub install { #XXX OS-SPECIFIC
if (@_==1 and eval { 1+@$from_to }) {
my %opts = @$from_to;
$from_to = $opts{from_to}
- or Carp::confess("from_to is a mandatory parameter");
+ or _confess("from_to is a mandatory parameter");
$verbose = $opts{verbose};
$dry_run = $opts{dry_run};
$uninstall_shadows = $opts{uninstall_shadows};
@@ -694,6 +706,7 @@ sub install { #XXX OS-SPECIFIC
my(%from_to) = %$from_to;
my(%pack, $dir, %warned);
+ require ExtUtils::Packlist;
my($packlist) = ExtUtils::Packlist->new();
local(*DIR);
@@ -706,6 +719,13 @@ sub install { #XXX OS-SPECIFIC
my $cwd = cwd();
my @found_files;
my %check_dirs;
+ require File::Find;
+
+ my $blib_lib = File::Spec->catdir('blib', 'lib');
+ my $blib_arch = File::Spec->catdir('blib', 'arch');
+
+ # File::Find seems to always be Unixy except on MacPerl :(
+ my $current_directory = $^O eq 'MacOS' ? $Curdir : '.';
MOD_INSTALL: foreach my $source (sort keys %from_to) {
#copy the tree to the target directory without altering
@@ -720,8 +740,6 @@ sub install { #XXX OS-SPECIFIC
my $targetroot = install_rooted_dir($from_to{$source});
- my $blib_lib = File::Spec->catdir('blib', 'lib');
- my $blib_arch = File::Spec->catdir('blib', 'arch');
if ($source eq $blib_lib and
exists $from_to{$blib_arch} and
directory_not_empty($blib_arch)
@@ -734,9 +752,7 @@ sub install { #XXX OS-SPECIFIC
_chdir($source);
# 5.5.3's File::Find missing no_chdir option
# XXX OS-SPECIFIC
- # File::Find seems to always be Unixy except on MacPerl :(
- my $current_directory= $Is_MacPerl ? $Curdir : '.';
- find(sub {
+ File::Find::find(sub {
my ($mode,$size,$atime,$mtime) = (stat)[2,7,8,9];
return if !-f _;
@@ -765,7 +781,7 @@ sub install { #XXX OS-SPECIFIC
$diff++;
} else {
# we might not need to copy this file
- $diff = compare($sourcefile, $targetfile);
+ $diff = _compare($sourcefile, $targetfile);
}
$check_dirs{$targetdir}++
unless -w $targetfile;
@@ -806,7 +822,7 @@ sub install { #XXX OS-SPECIFIC
#XXX OS-SPECIFIC
print "utime($atime,$mtime,$targetfile)\n" if $verbose>1;
- utime($atime,$mtime + $Is_VMS,$targetfile) unless $dry_run>1;
+ utime($atime,$mtime + Is_VMS,$targetfile) unless $dry_run>1;
$mode = 0444 | ( $mode & 0111 ? 0111 : 0 );
@@ -936,7 +952,8 @@ Returns 0 if there is not.
sub directory_not_empty ($) {
my($dir) = @_;
my $files = 0;
- find(sub {
+ require File::Find;
+ File::Find::find(sub {
return if $_ eq ".exists";
if (-f) {
$File::Find::prune++;
@@ -970,7 +987,7 @@ Consider its use discouraged.
=cut
sub install_default {
- @_ < 2 or Carp::croak("install_default should be called with 0 or 1 argument");
+ @_ < 2 or _croak("install_default should be called with 0 or 1 argument");
my $FULLEXT = @_ ? shift : $ARGV[0];
defined $FULLEXT or die "Do not know to where to write install log";
my $INST_LIB = File::Spec->catdir($Curdir,"blib","lib");
@@ -1026,6 +1043,7 @@ sub uninstall {
unless -f $fil;
# my $my_req = $self->catfile(qw(auto ExtUtils Install forceunlink.al));
# require $my_req; # Hairy, but for the first
+ require ExtUtils::Packlist;
my ($packlist) = ExtUtils::Packlist->new($fil);
foreach (sort(keys(%$packlist))) {
chomp;
@@ -1076,7 +1094,7 @@ sub inc_uninstall {
#warn join "\n","---",@dirs,"---";
my $seen_ours;
foreach $dir ( @dirs ) {
- my $canonpath = $Is_VMS ? $dir : File::Spec->canonpath($dir);
+ my $canonpath = Is_VMS ? $dir : File::Spec->canonpath($dir);
next if $canonpath eq $Curdir;
next if $seen_dir{$canonpath}++;
my $targetfile = File::Spec->catfile($canonpath,$libdir,$file);
@@ -1088,7 +1106,7 @@ sub inc_uninstall {
my $diff = 0;
if ( -f $targetfile && -s _ == -s $filepath) {
# We have a good chance, we can skip this one
- $diff = compare($filepath,$targetfile);
+ $diff = _compare($filepath,$targetfile);
} else {
$diff++;
}
@@ -1158,11 +1176,12 @@ sub run_filter {
=item B<pm_to_blib>
+ pm_to_blib(\%from_to);
pm_to_blib(\%from_to, $autosplit_dir);
pm_to_blib(\%from_to, $autosplit_dir, $filter_cmd);
Copies each key of %from_to to its corresponding value efficiently.
-Filenames with the extension .pm are autosplit into the $autosplit_dir.
+If an $autosplit_dir is provided, all .pm files will be autosplit into it.
Any destination directories are created.
$filter_cmd is an optional shell command to run each .pm file through
@@ -1180,7 +1199,7 @@ environment variable will silence this output.
sub pm_to_blib {
my($fromto,$autodir,$pm_filter) = @_;
- _mkpath($autodir,0,0755);
+ _mkpath($autodir,0,0755) if defined $autodir;
while(my($from, $to) = each %$fromto) {
if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
print "Skip $to (unchanged)\n" unless $INSTALL_QUIET;
@@ -1195,7 +1214,7 @@ sub pm_to_blib {
my $need_filtering = defined $pm_filter && length $pm_filter &&
$from =~ /\.pm$/;
- if (!$need_filtering && 0 == compare($from,$to)) {
+ if (!$need_filtering && 0 == _compare($from,$to)) {
print "Skip $to (unchanged)\n" unless $INSTALL_QUIET;
next;
}
@@ -1213,10 +1232,10 @@ sub pm_to_blib {
print "cp $from $to\n" unless $INSTALL_QUIET;
}
my($mode,$atime,$mtime) = (stat $from)[2,8,9];
- utime($atime,$mtime+$Is_VMS,$to);
+ utime($atime,$mtime+Is_VMS,$to);
_chmod(0444 | ( $mode & 0111 ? 0111 : 0 ),$to);
next unless $from =~ /\.pm$/;
- _autosplit($to,$autodir);
+ _autosplit($to,$autodir) if defined $autodir;
}
}
@@ -1234,7 +1253,8 @@ locking (ie. Windows). So we wrap it and close the filehandle.
=cut
sub _autosplit { #XXX OS-SPECIFIC
- my $retval = autosplit(@_);
+ require AutoSplit;
+ my $retval = AutoSplit::autosplit(@_);
close *AutoSplit::IN if defined *AutoSplit::IN{IO};
return $retval;
@@ -1265,7 +1285,7 @@ sub DESTROY {
$plural = $i>1 ? "all those files" : "this file";
my $inst = (_invokant() eq 'ExtUtils::MakeMaker')
? ( $Config::Config{make} || 'make' ).' install'
- . ( $Is_VMS ? '/MACRO="UNINST"=1' : ' UNINST=1' )
+ . ( ExtUtils::Install::Is_VMS ? '/MACRO="UNINST"=1' : ' UNINST=1' )
: './Build install uninst=1';
print "## Running '$inst' will unlink $plural for you.\n";
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm
index 061c32916f3..8327a95a3db 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm
@@ -17,7 +17,7 @@ my $DOSISH = ($^O =~ /^(MSWin\d\d|os2|dos|mint)$/);
require VMS::Filespec if $Is_VMS;
use vars qw($VERSION);
-$VERSION = '2.04';
+$VERSION = '2.14';
$VERSION = eval $VERSION;
sub _is_prefix {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm
index 7b2ca535ce7..700cb7347ab 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
use File::Spec;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
index a7fae86276d..a6da855862f 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
use ExtUtils::MakeMaker::Config;
@@ -57,6 +57,12 @@ sub _unix_os2_ext {
my ( $pwd ) = cwd(); # from Cwd.pm
my ( $found ) = 0;
+ if ( $^O eq 'darwin' or $^O eq 'next' ) {
+ # 'escape' Mach-O ld -framework and -F flags, so they aren't dropped later on
+ $potential_libs =~ s/(^|\s)(-(?:weak_|reexport_|lazy_)?framework)\s+(\S+)/$1-Wl,$2 -Wl,$3/g;
+ $potential_libs =~ s/(^|\s)(-F)\s*(\S+)/$1-Wl,$2 -Wl,$3/g;
+ }
+
foreach my $thislib ( split ' ', $potential_libs ) {
my ( $custom_name ) = '';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm
index b3279323881..b2c360bca3a 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
require ExtUtils::Liblist;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
index ea646606fc4..b114ee49d30 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
@@ -1,9 +1,10 @@
package ExtUtils::MM_AIX;
use strict;
-our $VERSION = '7.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
+use ExtUtils::MakeMaker::Config;
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
@@ -34,13 +35,7 @@ Define DL_FUNCS and DL_VARS and write the *.exp files.
sub dlsyms {
my($self,%attribs) = @_;
return '' unless $self->needs_linking;
- my @m;
- # these will need XSMULTI-fying but maybe that already happens
- push @m,"\ndynamic :: $self->{BASEEXT}.exp\n\n"
- unless $self->{SKIPHASH}{'dynamic'}; # dynamic and static are subs, so...
- push @m,"\nstatic :: $self->{BASEEXT}.exp\n\n"
- unless $self->{SKIPHASH}{'static'}; # we avoid a warning if we tick them
- join "\n", @m, $self->xs_dlsyms_iterator(\%attribs);
+ join "\n", $self->xs_dlsyms_iterator(\%attribs);
}
=head3 xs_dlsyms_ext
@@ -53,6 +48,21 @@ sub xs_dlsyms_ext {
'.exp';
}
+sub xs_dlsyms_arg {
+ my($self, $file) = @_;
+ return qq{-bE:${file}};
+}
+
+sub init_others {
+ my $self = shift;
+ $self->SUPER::init_others;
+ # perl "hints" add -bE:$(BASEEXT).exp to LDDLFLAGS. strip that out
+ # so right value can be added by xs_make_dynamic_lib to work for XSMULTI
+ $self->{LDDLFLAGS} ||= $Config{lddlflags};
+ $self->{LDDLFLAGS} =~ s#(\s*)\S*\Q$(BASEEXT)\E\S*(\s*)#$1$2#;
+ return;
+}
+
=head1 AUTHOR
Michael G Schwern <schwern@pobox.com> with code from ExtUtils::MM_Unix
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm
index 433a8dd7a31..1a3893c30b6 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
use Carp;
@@ -910,6 +910,17 @@ MAKE_FRAG
}
+=head3 xs_dlsyms_arg
+
+Returns command-line arg(s) to linker for file listing dlsyms to export.
+Defaults to returning empty string, can be overridden by e.g. AIX.
+
+=cut
+
+sub xs_dlsyms_arg {
+ return '';
+}
+
=head3 xs_dlsyms_ext
Returns file-extension for C<xs_make_dlsyms> method's output file,
@@ -1318,8 +1329,10 @@ sub metafile_data {
# needs to be based on the original version
my $v1_add = _metaspec_version($meta_add) !~ /^2/;
+ my ($add_v, $merge_v) = map _metaspec_version($_), $meta_add, $meta_merge;
for my $frag ($meta_add, $meta_merge) {
- $frag = CPAN::Meta::Converter->new($frag, default_version => "1.4")->upgrade_fragment;
+ my $def_v = $frag == $meta_add ? $merge_v : $add_v;
+ $frag = CPAN::Meta::Converter->new($frag, default_version => $def_v)->upgrade_fragment;
}
# if we upgraded a 1.x _ADD fragment, we gave it a prereqs key that
@@ -2886,13 +2899,20 @@ Takes a path to a file or dir and returns an empty string if we don't
want to include this file in the library. Otherwise it returns the
the $path unchanged.
-Mainly used to exclude version control administrative directories from
-installation.
+Mainly used to exclude version control administrative directories
+and base-level F<README.pod> from installation.
=cut
sub libscan {
my($self,$path) = @_;
+
+ if ($path =~ m<^README\.pod$>i) {
+ warn "WARNING: Older versions of ExtUtils::MakeMaker may errantly install $path as part of this distribution. It is recommended to avoid using this path in CPAN modules.\n"
+ unless $ENV{PERL_CORE};
+ return '';
+ }
+
my($dirs,$file) = ($self->splitpath($path))[1,2];
return '' if grep /^(?:RCS|CVS|SCCS|\.svn|_darcs)$/,
$self->splitdir($dirs), $file;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm
index 9ede7971464..6fb7911390c 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm
index e180a44530e..934e65f913d 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm
index a453278b2fd..33a8b199df3 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
require ExtUtils::MM_Any;
@@ -51,6 +51,14 @@ sub replace_manpage_separator {
return $man;
}
+=item xs_static_lib_is_xs
+
+=cut
+
+sub xs_static_lib_is_xs {
+ return 1;
+}
+
=back
=head1 AUTHOR
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm
index 03dfe27376c..f5359dca095 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
@@ -24,7 +24,7 @@ ExtUtils::MM_Darwin - special behaviors for OS X
See L<ExtUtils::MM_Unix> for L<ExtUtils::MM_Any> for documentation on the
methods overridden here.
-=head2 Overriden Methods
+=head2 Overridden Methods
=head3 init_dist
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm
index 8207502f71a..5646ae33406 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
sub new {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
index 6ec9b7cb8ff..c88c4fabe98 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
require ExtUtils::MM_Win32;
@@ -137,6 +137,14 @@ sub static_lib_pure_cmd {
: '-type library -o $@ ' . $src));
}
+=item xs_static_lib_is_xs
+
+=cut
+
+sub xs_static_lib_is_xs {
+ return 1;
+}
+
=item dynamic_lib
Override of utility methods for OS-specific work.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm
index f23ec5a2a6c..dfa6dca4916 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
require ExtUtils::MM_Any;
@@ -131,6 +131,14 @@ sub os_flavor {
return('OS/2');
}
+=item xs_static_lib_is_xs
+
+=cut
+
+sub xs_static_lib_is_xs {
+ return 1;
+}
+
=back
=cut
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm
index 6475983eb86..362d7d920fb 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
require ExtUtils::MM_Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm
index e7e65ef2ade..cc95c415e81 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
require ExtUtils::MM_Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
index 66a24d7838b..fe53be12efd 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
@@ -14,7 +14,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue _sprintf562);
# If we make $VERSION an our variable parse_version() breaks
use vars qw($VERSION);
-$VERSION = '7.24';
+$VERSION = '7.34';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
require ExtUtils::MM_Any;
@@ -932,6 +932,7 @@ sub dynamic_lib {
return '' unless $self->has_link_code;
my @m = $self->xs_dynamic_lib_macros(\%attribs);
my @libs;
+ my $dlsyms_ext = eval { $self->xs_dlsyms_ext };
if ($self->{XSMULTI}) {
my @exts = $self->_xs_list_basenames;
for my $ext (@exts) {
@@ -952,10 +953,14 @@ sub dynamic_lib {
my $ldfrom = $self->_xsbuild_value('xs', $ext, 'LDFROM');
$ldfrom = $objfile unless defined $ldfrom;
my $exportlist = "$ext.def";
- push @libs, [ $objfile, $instfile, $instdir, $ldfrom, $exportlist ];
+ my @libchunk = ($objfile, $instfile, $instdir, $ldfrom, $exportlist);
+ push @libchunk, $dlsyms_ext ? $ext.$dlsyms_ext : undef;
+ push @libs, \@libchunk;
}
} else {
- @libs = ([ qw($(OBJECT) $(INST_DYNAMIC) $(INST_ARCHAUTODIR) $(LDFROM) $(EXPORT_LIST)) ]);
+ my @libchunk = qw($(OBJECT) $(INST_DYNAMIC) $(INST_ARCHAUTODIR) $(LDFROM) $(EXPORT_LIST));
+ push @libchunk, $dlsyms_ext ? '$(BASEEXT)'.$dlsyms_ext : undef;
+ @libs = (\@libchunk);
}
push @m, map { $self->xs_make_dynamic_lib(\%attribs, @$_); } @libs;
@@ -999,10 +1004,11 @@ Defines the recipes for the C<dynamic_lib> section.
=cut
sub xs_make_dynamic_lib {
- my ($self, $attribs, $object, $to, $todir, $ldfrom, $exportlist) = @_;
+ my ($self, $attribs, $object, $to, $todir, $ldfrom, $exportlist, $dlsyms) = @_;
$exportlist = '' if $exportlist ne '$(EXPORT_LIST)';
my $armaybe = $self->_xs_armaybe($attribs);
- my @m = sprintf '%s : %s $(MYEXTLIB) %s$(DFSEP).exists %s $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)'."\n", $to, $object, $todir, $exportlist;
+ my @m = sprintf '%s : %s $(MYEXTLIB) %s$(DFSEP).exists %s $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) %s'."\n", $to, $object, $todir, $exportlist, ($dlsyms || '');
+ my $dlsyms_arg = $self->xs_dlsyms_arg($dlsyms);
if ($armaybe ne ':'){
$ldfrom = 'tmp$(LIB_EXT)';
push(@m," \$(ARMAYBE) cr $ldfrom $object\n");
@@ -1043,8 +1049,8 @@ sub xs_make_dynamic_lib {
$ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" ';
}
- push @m, sprintf <<'MAKE', $ld_run_path_shell, $ldrun, $ldfrom, $self->xs_obj_opt('$@'), $libs, $exportlist;
- %s$(LD) %s $(LDDLFLAGS) %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \
+ push @m, sprintf <<'MAKE', $ld_run_path_shell, $ldrun, $dlsyms_arg, $ldfrom, $self->xs_obj_opt('$@'), $libs, $exportlist;
+ %s$(LD) %s $(LDDLFLAGS) %s %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \
$(PERL_ARCHIVE) %s $(PERL_ARCHIVE_AFTER) %s \
$(INST_DYNAMIC_FIX)
$(CHMOD) $(PERM_RWX) $@
@@ -2524,68 +2530,13 @@ $(MAKE_APERL_FILE) : static $(FIRST_MAKEFILE) pm_to_blib
$linkcmd =~ s,(perl\.exp),\$(PERL_INC)/$1,;
# Which *.a files could we make use of...
- my %static;
- require File::Find;
- # don't use File::Spec here because on Win32 F::F still uses "/"
- my $installed_version = join('/',
- 'auto', $self->{FULLEXT}, "$self->{BASEEXT}$self->{LIB_EXT}"
- );
- File::Find::find(sub {
- return unless m/\Q$self->{LIB_EXT}\E$/;
-
- # Skip perl's libraries.
- return if m/^libperl/ or m/^perl\Q$self->{LIB_EXT}\E$/;
-
- # Skip purified versions of libraries
- # (e.g., DynaLoader_pure_p1_c0_032.a)
- return if m/_pure_\w+_\w+_\w+\.\w+$/ and -f "$File::Find::dir/.pure";
-
- if( exists $self->{INCLUDE_EXT} ){
- my $found = 0;
-
- (my $xx = $File::Find::name) =~ s,.*?/auto/,,s;
- $xx =~ s,/?$_,,;
- $xx =~ s,/,::,g;
-
- # Throw away anything not explicitly marked for inclusion.
- # DynaLoader is implied.
- foreach my $incl ((@{$self->{INCLUDE_EXT}},'DynaLoader')){
- if( $xx eq $incl ){
- $found++;
- last;
- }
- }
- return unless $found;
- }
- elsif( exists $self->{EXCLUDE_EXT} ){
- (my $xx = $File::Find::name) =~ s,.*?/auto/,,s;
- $xx =~ s,/?$_,,;
- $xx =~ s,/,::,g;
-
- # Throw away anything explicitly marked for exclusion
- foreach my $excl (@{$self->{EXCLUDE_EXT}}){
- return if( $xx eq $excl );
- }
- }
-
- # don't include the installed version of this extension. I
- # leave this line here, although it is not necessary anymore:
- # I patched minimod.PL instead, so that Miniperl.pm won't
- # include duplicates
-
- # Once the patch to minimod.PL is in the distribution, I can
- # drop it
- return if $File::Find::name =~ m:\Q$installed_version\E\z:;
- use Cwd 'cwd';
- $static{cwd() . "/" . $_}++;
- }, grep( -d $_, @{$searchdirs || []}) );
-
+ my $staticlib21 = $self->_find_static_libs($searchdirs);
# We trust that what has been handed in as argument, will be buildable
$static = [] unless $static;
- @static{@{$static}} = (1) x @{$static};
+ @$staticlib21{@{$static}} = (1) x @{$static};
$extra = [] unless $extra && ref $extra eq 'ARRAY';
- for (sort keys %static) {
+ for (sort keys %$staticlib21) {
next unless /\Q$self->{LIB_EXT}\E\z/;
$_ = dirname($_) . "/extralibs.ld";
push @$extra, $_;
@@ -2599,7 +2550,7 @@ $(MAKE_APERL_FILE) : static $(FIRST_MAKEFILE) pm_to_blib
# MAP_STATIC doesn't look into subdirs yet. Once "all" is made and we
# regenerate the Makefiles, MAP_STATIC and the dependencies for
# extralibs.all are computed correctly
- my @map_static = reverse sort keys %static;
+ my @map_static = reverse sort keys %$staticlib21;
push @m, "
MAP_LINKCMD = $linkcmd
MAP_STATIC = ", join(" \\\n\t", map { qq{"$_"} } @map_static), "
@@ -2711,6 +2662,92 @@ map_clean :
join '', @m;
}
+# utility method
+sub _find_static_libs {
+ my ($self, $searchdirs) = @_;
+ # don't use File::Spec here because on Win32 F::F still uses "/"
+ my $installed_version = join('/',
+ 'auto', $self->{FULLEXT}, "$self->{BASEEXT}$self->{LIB_EXT}"
+ );
+ my %staticlib21;
+ require File::Find;
+ File::Find::find(sub {
+ if ($File::Find::name =~ m{/auto/share\z}) {
+ # in a subdir of auto/share, prune because e.g.
+ # Alien::pkgconfig uses File::ShareDir to put .a files
+ # there. do not want
+ $File::Find::prune = 1;
+ return;
+ }
+
+ return unless m/\Q$self->{LIB_EXT}\E$/;
+
+ return unless -f 'extralibs.ld'; # this checks is a "proper" XS installation
+
+ # Skip perl's libraries.
+ return if m/^libperl/ or m/^perl\Q$self->{LIB_EXT}\E$/;
+
+ # Skip purified versions of libraries
+ # (e.g., DynaLoader_pure_p1_c0_032.a)
+ return if m/_pure_\w+_\w+_\w+\.\w+$/ and -f "$File::Find::dir/.pure";
+
+ if( exists $self->{INCLUDE_EXT} ){
+ my $found = 0;
+
+ (my $xx = $File::Find::name) =~ s,.*?/auto/,,s;
+ $xx =~ s,/?$_,,;
+ $xx =~ s,/,::,g;
+
+ # Throw away anything not explicitly marked for inclusion.
+ # DynaLoader is implied.
+ foreach my $incl ((@{$self->{INCLUDE_EXT}},'DynaLoader')){
+ if( $xx eq $incl ){
+ $found++;
+ last;
+ }
+ }
+ return unless $found;
+ }
+ elsif( exists $self->{EXCLUDE_EXT} ){
+ (my $xx = $File::Find::name) =~ s,.*?/auto/,,s;
+ $xx =~ s,/?$_,,;
+ $xx =~ s,/,::,g;
+
+ # Throw away anything explicitly marked for exclusion
+ foreach my $excl (@{$self->{EXCLUDE_EXT}}){
+ return if( $xx eq $excl );
+ }
+ }
+
+ # don't include the installed version of this extension. I
+ # leave this line here, although it is not necessary anymore:
+ # I patched minimod.PL instead, so that Miniperl.pm won't
+ # include duplicates
+
+ # Once the patch to minimod.PL is in the distribution, I can
+ # drop it
+ return if $File::Find::name =~ m:\Q$installed_version\E\z:;
+ return if !$self->xs_static_lib_is_xs($_);
+ use Cwd 'cwd';
+ $staticlib21{cwd() . "/" . $_}++;
+ }, grep( -d $_, map { $self->catdir($_, 'auto') } @{$searchdirs || []}) );
+ return \%staticlib21;
+}
+
+=item xs_static_lib_is_xs (o)
+
+Called by a utility method of makeaperl. Checks whether a given file
+is an XS library by seeing whether it defines any symbols starting
+with C<boot_>.
+
+=cut
+
+sub xs_static_lib_is_xs {
+ my ($self, $libfile) = @_;
+ my $devnull = File::Spec->devnull;
+ return `nm $libfile 2>$devnull` =~ /\bboot_/;
+}
+
=item makefile (o)
Defines how to rewrite the Makefile.
@@ -3259,7 +3296,7 @@ sub processPL {
$m .= <<MAKE_FRAG;
-all :: $target
+pure_all :: $target
\$(NOECHO) \$(NOOP)
$target :: $plfile $pm_dep
@@ -3659,7 +3696,7 @@ test_ : test_$default_testtype
EOF
for my $linktype (qw(dynamic static)) {
- my $directdeps = "$linktype pure_all";
+ my $directdeps = join ' ', grep !$self->{SKIPHASH}{$_}, $linktype, "pure_all"; # no depend on a linktype if SKIPped
push @m, "subdirs-test_$linktype :: $directdeps\n";
foreach my $dir (@{ $self->{DIR} }) {
my $test = $self->cd($dir, "\$(MAKE) test_$linktype \$(PASTHRU)");
@@ -3869,7 +3906,7 @@ Obsolete, deprecated method. Not used since Version 5.21.
sub writedoc {
# --- perllocal.pod section ---
my($self,$what,$name,@attribs)=@_;
- my $time = localtime;
+ my $time = gmtime($ENV{SOURCE_DATE_EPOCH} || time);
print "=head2 $time: $what C<$name>\n\n=over 4\n\n=item *\n\n";
print join "\n\n=item *\n\n", map("C<$_>",@attribs);
print "\n\n=back\n\n";
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm
index ed3ec8cab08..b6fbccfe349 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
require ExtUtils::MM_Any;
@@ -1242,6 +1242,29 @@ sub xs_make_static_lib {
}
+=item static_lib_pure_cmd (override)
+
+Use VMS commands to manipulate object library.
+
+=cut
+
+sub static_lib_pure_cmd {
+ my ($self, $from) = @_;
+
+ sprintf <<'MAKE_FRAG', $from;
+ If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET)
+ Library/Object/Replace $(MMS$TARGET) %s
+MAKE_FRAG
+}
+
+=item xs_static_lib_is_xs
+
+=cut
+
+sub xs_static_lib_is_xs {
+ return 1;
+}
+
=item extra_clean_files
Clean up some OS specific files. Plus the temp file used to shorten
@@ -1286,7 +1309,7 @@ sub tarfile_target {
$(DISTVNAME).tar$(SUFFIX) : distdir
$(PREOP)
$(TO_UNIX)
- $(TAR) "$(TARFLAGS)" $(DISTVNAME).tar [.$(DISTVNAME)...]
+ $(TAR) "$(TARFLAGS)" $(DISTVNAME).tar [.$(DISTVNAME)...]
$(RM_RF) $(DISTVNAME)
$(COMPRESS) $(DISTVNAME).tar
$(POSTOP)
@@ -1336,7 +1359,7 @@ pure_install :: pure_$(INSTALLDIRS)_install
$(NOECHO) $(NOOP)
doc_install :: doc_$(INSTALLDIRS)_install
- $(NOECHO) $(NOOP)
+ $(NOECHO) $(NOOP)
pure__install : pure_site_install
$(NOECHO) $(ECHO) "INSTALLDIRS not defined, defaulting to INSTALLDIRS=site"
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm
index c176118d4d3..66c7ff74722 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
require ExtUtils::MM_Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm
index 9844d837b7b..43c974d5b41 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 _sprintf562);
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
$ENV{EMXSHELL} = 'sh'; # to run `commands`
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm
index 0d6f0e31bfc..85a80c638b0 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
require ExtUtils::MM_Win32;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm
index 779c791297c..a193f3a045c 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
our @ISA = qw(ExtUtils::MM);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
index d579256e86e..90d9eac49c1 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
# Emulate something resembling CVS $Revision$
@@ -34,7 +34,7 @@ $Revision = int $Revision * 10000;
our $Filename = __FILE__; # referenced outside MakeMaker
our @ISA = qw(Exporter);
-our @EXPORT = qw(&WriteMakefile $Verbose &prompt);
+our @EXPORT = qw(&WriteMakefile $Verbose &prompt &os_unsupported);
our @EXPORT_OK = qw($VERSION &neatvalue &mkbootstrap &mksymlists
&WriteEmptyMakefile &open_for_writing &write_file_via_tmp
&_sprintf562);
@@ -227,6 +227,10 @@ sub prompt ($;$) { ## no critic
return (!defined $ans || $ans eq '') ? $def : $ans;
}
+sub os_unsupported {
+ die "OS unsupported\n";
+}
+
sub eval_in_subdirs {
my($self) = @_;
use Cwd qw(cwd abs_path);
@@ -652,11 +656,6 @@ END
}
}
- # This is for old Makefiles written pre 5.00, will go away
- if ( Carp::longmess("") =~ /runsubdirpl/s ){
- carp("WARNING: Please rerun 'perl Makefile.PL' to regenerate your Makefiles\n");
- }
-
my $newclass = ++$PACKNAME;
local @Parent = @Parent; # Protect against non-local exits
{
@@ -1818,7 +1817,7 @@ located in the C<x86> directory relative to the PPD itself.
=item BUILD_REQUIRES
-Available in version 6.5503 and above.
+Available in version 6.55_03 and above.
A hash of modules that are needed to build your module but not run it.
@@ -2070,6 +2069,8 @@ Defaults to $Config{installprivlib}.
=item INSTALLSCRIPT
+Available in version 6.30_02 and above.
+
Used by 'make install' which copies files from INST_SCRIPT to this
directory if INSTALLDIRS=perl.
@@ -2106,7 +2107,9 @@ directory if INSTALLDIRS is set to site (default).
=item INSTALLVENDORARCH
Used by 'make install', which copies files from INST_ARCHLIB to this
-directory if INSTALLDIRS is set to vendor.
+directory if INSTALLDIRS is set to vendor. Note that if you do not set
+this, the value of INSTALLVENDORLIB will be used, which is probably not
+what you want.
=item INSTALLVENDORBIN
@@ -2129,6 +2132,8 @@ If set to 'none', no man pages will be installed.
=item INSTALLVENDORSCRIPT
+Available in version 6.30_02 and above.
+
Used by 'make install' which copies files from INST_SCRIPT to this
directory if INSTALLDIRS is set to vendor.
@@ -2234,11 +2239,15 @@ linkext below).
=item MAGICXS
+Available in version 6.8305 and above.
+
When this is set to C<1>, C<OBJECT> will be automagically derived from
C<O_FILES>.
=item MAKE
+Available in version 6.30_01 and above.
+
Variant of make you intend to run the generated Makefile with. This
parameter lets Makefile.PL know what make quirks to account for when
generating the Makefile.
@@ -2410,6 +2419,8 @@ Defaults to false.
=item NO_MYMETA
+Available in version 6.57_02 and above.
+
When true, suppresses the generation of MYMETA.yml and MYMETA.json module
meta-data files during 'perl Makefile.PL'.
@@ -2417,12 +2428,16 @@ Defaults to false.
=item NO_PACKLIST
+Available in version 6.7501 and above.
+
When true, suppresses the writing of C<packlist> files for installs.
Defaults to false.
=item NO_PERLLOCAL
+Available in version 6.7501 and above.
+
When true, suppresses the appending of installations to C<perllocal>.
Defaults to false.
@@ -2540,6 +2555,8 @@ avoided, it may be undefined)
=item PERM_DIR
+Available in version 6.51_01 and above.
+
Desired permission for directories. Defaults to C<755>.
=item PERM_RW
@@ -2661,10 +2678,14 @@ the installation of a package.
=item PPM_UNINSTALL_EXEC
+Available in version 6.8502 and above.
+
Name of the executable used to run C<PPM_UNINSTALL_SCRIPT> below. (e.g. perl)
=item PPM_UNINSTALL_SCRIPT
+Available in version 6.8502 and above.
+
Name of the script that gets executed by the Perl Package Manager before
the removal of a package.
@@ -2762,6 +2783,8 @@ Overridable by PREFIX
=item SIGN
+Available in version 6.18 and above.
+
When true, perform the generation and addition to the MANIFEST of the
SIGNATURE file in the distdir during 'make distdir', via 'cpansign
-s'.
@@ -2882,6 +2905,8 @@ deleted by a make clean.
=item XSBUILD
+Available in version 7.12 and above.
+
Hashref with options controlling the operation of C<XSMULTI>:
{
@@ -2914,6 +2939,8 @@ C<$(OBJ_EXT)> appended.
=item XSMULTI
+Available in version 7.12 and above.
+
When this is set to C<1>, multiple XS files may be placed under F<lib/>
next to their corresponding C<*.pm> files (this is essential for compiling
with the correct C<VERSION> values). This feature should be considered
@@ -3014,6 +3041,8 @@ you provide your own C<TESTS> attribute, defaults to false.
{RECURSIVE_TEST_FILES=>1}
+This is supported since 6.76
+
=item tool_autosplit
{MAXLEN => 8}
@@ -3290,6 +3319,17 @@ prevents automated processes from blocking on user input.
If no $default is provided an empty string will be used instead.
+=item os_unsupported
+
+ os_unsupported();
+ os_unsupported if $^O eq 'MSWin32';
+
+The C<os_unsupported()> function provides a way to correctly exit your
+C<Makefile.PL> before calling C<WriteMakefile>. It is essentially a
+C<die> with the message "OS unsupported".
+
+This is supported since 7.26
+
=back
=head2 Supported versions of Perl
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm
index bce9c66dee6..0d4f8b1e611 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
use Config ();
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
index 179c9d6f30a..0ceb4f766ec 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
1;
@@ -390,7 +390,9 @@ We recommend InfoZIP: L<http://www.info-zip.org/Zip.html>
=head2 XS
-=head3 How do I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?
+=over 4
+
+=item How do I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?
XS code is very sensitive to the module version number and will
complain if the version number in your Perl module doesn't match. If
@@ -405,13 +407,15 @@ WriteMakefile() arguments.
depend => { '$(FIRST_MAKEFILE)' => '$(VERSION_FROM)' }
-=head3 How do I make two or more XS files coexist in the same directory?
+=item How do I make two or more XS files coexist in the same directory?
Sometimes you need to have two and more XS files in the same package.
There are three ways: C<XSMULTI>, separate directories, and bootstrapping
one XS from another.
-=head4 XSMULTI
+=over 8
+
+=item XSMULTI
Structure your modules so they are all located under F<lib>, such that
C<Foo::Bar> is in F<lib/Foo/Bar.pm> and F<lib/Foo/Bar.xs>, etc. Have your
@@ -419,14 +423,14 @@ top-level C<WriteMakefile> set the variable C<XSMULTI> to a true value.
Er, that's it.
-=head4 Separate directories
+=item Separate directories
Put each XS files into separate directories, each with their own
F<Makefile.PL>. Make sure each of those F<Makefile.PL>s has the correct
C<CFLAGS>, C<INC>, C<LIBS> etc. You will need to make sure the top-level
F<Makefile.PL> refers to each of these using C<DIR>.
-=head4 Bootstrapping
+=item Bootstrapping
Let's assume that we have a package C<Cool::Foo>, which includes
C<Cool::Foo> and C<Cool::Bar> modules each having a separate XS
@@ -546,6 +550,8 @@ and L<Glib::CodeGen>.
=back
+=back
+
=head1 DESIGN
=head2 MakeMaker object hierarchy (simplified)
@@ -607,7 +613,7 @@ ExtUtils::Makemaker, ExtUtils::Liblist and ExtUtils::MM_{Current OS}
NOTE: The methods in MY are simply copied into PACK### rather than
MY being a superclass of PACK###. I don't remember the rationale.
-NOTE: ExtUtils::Liblist should be removed from the inheritence hiearchy
+NOTE: ExtUtils::Liblist should be removed from the inheritance hiearchy
and simply be called as functions.
NOTE: Modules like File::Spec and Exporter have been omitted for clarity.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm
index bec2cc15a48..6d97df06f61 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.24";
+our $VERSION = "7.34";
$VERSION = eval $VERSION;
use base 'Exporter';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
index 76c08d1bed9..b49e4448330 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
@@ -125,10 +125,10 @@ Simply add another entry in the test location string. For example, to test:
You would use the following C<test> directive:
- test => {TESTS => 't/*.t t/*/*/*.t}
+ test => {TESTS => 't/*.t t/*/*/*.t'}
Note that in the above example, tests in the first subdirectory will not be
-run. To run all tests in the intermediary subdirectory preceeding the one
+run. To run all tests in the intermediary subdirectory preceding the one
the test files are in, you need to explicitly note it:
test => {TESTS => 't/*.t t/*/*.t t/*/*/*.t'}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm
index bcfaaa342c5..c59be1eeee7 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.24';
+$VERSION = '7.34';
$VERSION = eval $VERSION;
$CLASS = 'version';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
index 5d397b1bdef..6090970adc9 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
@@ -4,11 +4,9 @@ use strict;
require Exporter;
use ExtUtils::Embed 1.31, qw(xsi_header xsi_protos xsi_body);
-use vars qw($VERSION @ISA @EXPORT);
-
-@ISA = qw(Exporter);
-@EXPORT = qw(writemain);
-$VERSION = '1.06';
+our @ISA = qw(Exporter);
+our @EXPORT = qw(writemain);
+our $VERSION = '1.08';
# blead will run this with miniperl, hence we can't use autodie or File::Temp
my $temp;
@@ -153,8 +151,7 @@ main(int argc, char **argv, char **env)
PL_perl_destruct_level = 0;
}
PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
- exitstatus = perl_parse(my_perl, xs_init, argc, argv, (char **)NULL);
- if (!exitstatus)
+ if (!perl_parse(my_perl, xs_init, argc, argv, (char **)NULL))
perl_run(my_perl);
#ifndef PERL_MICRO
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm
index 5eea8bc67e4..0d4c1a20909 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
require Exporter;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
index 0cfb22ac28f..0ec5f9dbdfd 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
sub Mksymlists {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm
index c1ab00216bc..f94e3d05cc8 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm
@@ -5,7 +5,7 @@ use strict;
use Carp qw();
use Config;
use vars qw($VERSION $Relocations);
-$VERSION = '2.04';
+$VERSION = '2.14';
$VERSION = eval $VERSION;
# Used for generating filehandle globs. IO::File might not be available!
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
index 5aec25d80b1..e1f09407455 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
@@ -11,12 +11,12 @@ use Symbol;
our $VERSION;
BEGIN {
- $VERSION = '3.34';
+ $VERSION = '3.39';
+ require ExtUtils::ParseXS::Constants; ExtUtils::ParseXS::Constants->VERSION($VERSION);
+ require ExtUtils::ParseXS::CountLines; ExtUtils::ParseXS::CountLines->VERSION($VERSION);
+ require ExtUtils::ParseXS::Utilities; ExtUtils::ParseXS::Utilities->VERSION($VERSION);
+ require ExtUtils::ParseXS::Eval; ExtUtils::ParseXS::Eval->VERSION($VERSION);
}
-use ExtUtils::ParseXS::Constants $VERSION;
-use ExtUtils::ParseXS::CountLines $VERSION;
-use ExtUtils::ParseXS::Utilities $VERSION;
-use ExtUtils::ParseXS::Eval $VERSION;
$VERSION = eval $VERSION if $VERSION =~ /_/;
use ExtUtils::ParseXS::Utilities qw(
@@ -519,9 +519,10 @@ EOF
EOF
}
else {
- # cv likely to be unused
+ # cv and items likely to be unused
print Q(<<"EOF");
# PERL_UNUSED_VAR(cv); /* -W */
+# PERL_UNUSED_VAR(items); /* -W */
EOF
}
@@ -871,6 +872,7 @@ EOF
#XS_EUPXS(XS_$self->{Packid}_nil)
#{
# dXSARGS;
+# PERL_UNUSED_VAR(items);
# XSRETURN_EMPTY;
#}
#
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm
index dfc74de9352..45b567404d2 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.34';
+our $VERSION = '3.39';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm
index 98251a87087..5b48449dbb4 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.34';
+our $VERSION = '3.39';
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 833753ba933..9eba5e50583 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.34';
+our $VERSION = '3.39';
=head1 NAME
@@ -29,7 +29,7 @@ Warns the contents of C<$@> if any.
Not all these variables are necessarily considered "public" wrt. use in
typemaps, so beware. Variables set up from the ExtUtils::ParseXS object:
- $Package $Alias $func_name $Full_func_name $pname
+ $Package $ALIAS $func_name $Full_func_name $pname
Variables set up from C<$other_hashref>:
@@ -63,7 +63,7 @@ Warns the contents of C<$@> if any.
Not all these variables are necessarily considered "public" wrt. use in
typemaps, so beware. Variables set up from the ExtUtils::ParseXS object:
- $Package $Alias $func_name $Full_func_name $pname
+ $Package $ALIAS $func_name $Full_func_name $pname
Variables set up from C<$other_hashref>:
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm
index b2e8cb89f75..ae25b33b47b 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.34';
+our $VERSION = '3.39';
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 51af88c5a10..a762322df9f 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.34';
+our $VERSION = '3.38';
require ExtUtils::ParseXS;
require ExtUtils::ParseXS::Constants;
@@ -781,7 +781,9 @@ corresponding OUTPUT code:
$var.context.value().size());
',
'T_OUT' => ' {
- GV *gv = newGVgen("$Package");
+ GV *gv = (GV *)sv_newmortal();
+ gv_init_pvn(gv, gv_stashpvs("$Package",1),
+ "__ANONIO__",10,0);
if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) )
sv_setsv(
$arg,
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm
index c9491a195b7..3c33f548a57 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.34';
+our $VERSION = '3.38';
use ExtUtils::Typemaps;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm
index ff620d8db62..bf19df1e452 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.34';
+our $VERSION = '3.38';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm
index c454c489b45..90adb489780 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.34';
+our $VERSION = '3.38';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm
index 764e4b68d84..01bd51d4fbc 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.34';
+our $VERSION = '3.38';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm b/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm
index 0e774664ffa..01b46ee45a5 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.24';
+our $VERSION = '7.34';
$VERSION = eval $VERSION;
use Cwd;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/typemap b/Master/tlpkg/tlperl/lib/ExtUtils/typemap
index 4bfba95e9e0..db700b75bf6 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/typemap
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/typemap
@@ -398,8 +398,9 @@ T_ARRAY
}
T_STDIO
{
- GV *gv = newGVgen("$Package");
+ GV *gv = (GV *)sv_newmortal();
PerlIO *fp = PerlIO_importFILE($var,0);
+ gv_init_pvn(gv, gv_stashpvs("$Package",1),"__ANONIO__",10,0);
if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) ) {
SV *rv = newRV_inc((SV*)gv);
rv = sv_bless(rv, GvSTASH(gv));
@@ -411,7 +412,8 @@ T_STDIO
}
T_IN
{
- GV *gv = newGVgen("$Package");
+ GV *gv = (GV *)sv_newmortal();
+ gv_init_pvn(gv, gv_stashpvs("$Package",1),"__ANONIO__",10,0);
if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) ) {
SV *rv = newRV_inc((SV*)gv);
rv = sv_bless(rv, GvSTASH(gv));
@@ -423,7 +425,8 @@ T_IN
}
T_INOUT
{
- GV *gv = newGVgen("$Package");
+ GV *gv = (GV *)sv_newmortal();
+ gv_init_pvn(gv, gv_stashpvs("$Package",1),"__ANONIO__",10,0);
if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) ) {
SV *rv = newRV_inc((SV*)gv);
rv = sv_bless(rv, GvSTASH(gv));
@@ -435,7 +438,8 @@ T_INOUT
}
T_OUT
{
- GV *gv = newGVgen("$Package");
+ GV *gv = (GV *)sv_newmortal();
+ gv_init_pvn(gv, gv_stashpvs("$Package",1),"__ANONIO__",10,0);
if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) ) {
SV *rv = newRV_inc((SV*)gv);
rv = sv_bless(rv, GvSTASH(gv));