summaryrefslogtreecommitdiff
path: root/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-03-15 03:06:35 +0000
committerNorbert Preining <norbert@preining.info>2024-03-15 03:06:35 +0000
commit12679ab7d3c2a210f4123163671b532b8b55d5f9 (patch)
tree0060d13467186ad977f4e73488ee20dd6c0017ab /systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
parent62170822e034fdd3f81de7274835d0d3b0467100 (diff)
CTAN sync 202403150306
Diffstat (limited to 'systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm')
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm69
1 files changed, 29 insertions, 40 deletions
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
index b9b38368e0..e8c3808b38 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
@@ -25,7 +25,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.62';
+our $VERSION = '7.70';
$VERSION =~ tr/_//d;
# Emulate something resembling CVS $Revision$
@@ -393,7 +393,7 @@ sub full_setup {
# we will use all these variables in the Makefile
@Get_from_Config =
qw(
- ar cc cccdlflags ccdlflags dlext dlsrc exe_ext full_ar ld
+ ar cc cccdlflags ccdlflags cpprun dlext dlsrc exe_ext full_ar ld
lddlflags ldflags libc lib_ext obj_ext osname osvers ranlib
sitelibexp sitearchexp so
);
@@ -525,7 +525,10 @@ sub new {
# simulate "use warnings FATAL => 'all'" for vintage perls
die @_;
};
- version->new( $perl_version )->numify;
+ my $v = version->new($perl_version);
+ # we care about parse issues, not numify warnings
+ no warnings;
+ $v->numify;
};
$perl_version =~ tr/_//d
if defined $perl_version;
@@ -634,7 +637,7 @@ END
if (%unsatisfied && $self->{PREREQ_FATAL}){
my $failedprereqs = join "\n", map {" $_ $unsatisfied{$_}"}
- sort { $a cmp $b } keys %unsatisfied;
+ sort { lc $a cmp lc $b } keys %unsatisfied;
die <<"END";
MakeMaker FATAL: prerequisites not found.
$failedprereqs
@@ -720,7 +723,7 @@ END
# RT#91540 PREREQ_FATAL not recognized on command line
if (%unsatisfied && $self->{PREREQ_FATAL}){
my $failedprereqs = join "\n", map {" $_ $unsatisfied{$_}"}
- sort { $a cmp $b } keys %unsatisfied;
+ sort { lc $a cmp lc $b } keys %unsatisfied;
die <<"END";
MakeMaker FATAL: prerequisites not found.
$failedprereqs
@@ -1151,19 +1154,20 @@ sub check_hints {
}
sub _run_hintfile {
- my ($self, $hint_file) = @_;
+ our $self;
+ local($self) = shift; # make $self available to the hint file.
+ my($hint_file) = shift;
local($@, $!);
print "Processing hints file $hint_file\n" if $Verbose;
- if(open(my $fh, '<', $hint_file)) {
- my $hints_content = do { local $/; <$fh> };
- no strict;
- eval $hints_content;
- warn "Failed to run hint file $hint_file: $@" if $@;
- }
- else {
- warn "Could not open $hint_file for read: $!";
+ # Just in case the ./ isn't on the hint file, which File::Spec can
+ # often strip off, we bung the curdir into @INC
+ local @INC = (File::Spec->curdir, @INC);
+ my $ret = do $hint_file;
+ if( !defined $ret ) {
+ my $error = $@ || $!;
+ warn $error;
}
}
@@ -1262,6 +1266,7 @@ sub write_file_via_tmp {
die "write_file_via_tmp: 2nd arg must be ref" unless ref $contents;
for my $chunk (@$contents) {
my $to_write = $chunk;
+ $to_write = '' unless defined $to_write;
utf8::encode $to_write if !$CAN_DECODE && "$]" > 5.008;
print $fh "$to_write\n" or die "Can't write to MakeMaker.tmp: $!";
}
@@ -1331,26 +1336,6 @@ sub neatvalue {
return "{ ".join(', ',@m)." }";
}
-sub _find_magic_vstring {
- my $value = shift;
- return $value if $UNDER_CORE;
- 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 selfdocument {
my($self) = @_;
my(@m);
@@ -1836,7 +1821,11 @@ currently used by MakeMaker but may be handy in Makefile.PLs.
=item CCFLAGS
String that will be included in the compiler call command line between
-the arguments INC and OPTIMIZE.
+the arguments INC and OPTIMIZE. Note that setting this will overwrite its
+default value (C<$Config::Config{ccflags}>); to preserve that, include
+the default value directly, e.g.:
+
+ CCFLAGS => "$Config::Config{ccflags} ..."
=item CONFIG
@@ -1846,6 +1835,7 @@ ar
cc
cccdlflags
ccdlflags
+cpprun
dlext
dlsrc
ld
@@ -2671,10 +2661,9 @@ instead. See above, or the L<ExtUtils::MakeMaker::FAQ> entry.
=item POLLUTE
-Release 5.005 grandfathered old global symbol names by providing preprocessor
-macros for extension source compatibility. As of release 5.6, these
-preprocessor definitions are not available by default. The POLLUTE flag
-specifies that the old names should still be defined:
+Prior to 5.6 various interpreter variables were available without a C<PL_>
+prefix, eg. C<PL_undef> was available as C<undef>. As of release 5.6, these
+are only defined if the POLLUTE flag is enabled:
perl Makefile.PL POLLUTE=1
@@ -3293,7 +3282,7 @@ are generated when F<Makefile.PL> generates a F<Makefile> (if L<CPAN::Meta>
is installed). Clients like L<CPAN> or L<CPANPLUS> will read these
files to see what prerequisites must be fulfilled before building or testing
the distribution. If you wish to shut this feature off, set the C<NO_MYMETA>
-C<WriteMakeFile()> flag to true.
+C<WriteMakefile()> flag to true.
=head2 Disabling an extension