EOF
use strict;
-use vars qw(%Config $Config_SH_expanded);
+our (%Config, $Config_SH_expanded);
my $how_many_common = 22;
package Config;
use strict;
use warnings;
-use vars '%%Config', '$VERSION';
+our ( %%Config, $VERSION );
$VERSION = "%s";
my %Data = ();
my $quote;
+# These variables were set in older versions of Perl, but are no longer needed
+# by the core. However, some CPAN modules may rely on them; in particular, Tk
+# (at least up to version 804.034) fails to build without them. We force them
+# to be emitted to Config_heavy.pl for backcompat with such modules (and we may
+# find that this set needs to be extended in future). See RT#132347.
+my @v_forced = map "$_\n", split /\n+/, <<'EOT';
+i_limits='define'
+i_stdlib='define'
+i_string='define'
+i_time='define'
+prototype='define'
+EOT
+
my %seen_quotes;
{
else {
$quote = $2;
($name,$val) = ($1,$3);
+ if ($name eq 'cc') {
+ $val =~ s{^(['"]?+).*\bccache\s+}{$1};
+ }
}
$in_v = $val !~ /$quote\n/;
next if $in_v;
# Calculation for the keys for byteorder
# This is somewhat grim, but I need to run fetch_string here.
-our $Config_SH_expanded = join "\n", '', @v_others;
+$Config_SH_expanded = join "\n", '', @v_others;
my $t = fetch_string ({}, 'ivtype');
my $s = fetch_string ({}, 'ivsize');
package Config;
use strict;
use warnings;
-use vars '%%Config';
+our %%Config;
sub bincompat_options {
return split ' ', (Internals::V())[0];
$_ = <<'!END!';
EOT
#proper lexicographical order of the keys
+my %seen_var;
$heavy_txt .= join('',
map { $_->[-1] }
sort {$a->[0] cmp $b->[0] }
+ grep { !$seen_var{ $_->[0] }++ }
map {
/^([^=]+)/ ? [ $1, $_ ]
: [ $_, $_ ] # shouldnt happen
- } @v_others
+ } @v_others, @v_forced
) . "!END!\n";
# Only need the dynamic byteorder code in Config.pm if 'byteorder' is one of
print CONFIG_POD <<'ENDOFTAIL';
=head1 NAME
+=for comment Generated by configpm. Any changes made here will be lost!
+
Config - access Perl configuration information
=head1 SYNOPSIS
print CONFIG_POD <<EOF if $text;
=back
-=cut
-
EOF
print CONFIG_POD <<EOF;
=head2 $c
=over 4
-=cut
-
EOF
$text = 1;
}