my @CFG = (
# This list contains both 5.8.x and 5.9.x files,
# we check from MANIFEST whether they are expected to be present.
+ # We can't base our check on $], because that's the version of the
+ # perl that we are running, not the version of the source tree.
"Cross/config.sh-arm-linux",
"epoc/config.sh",
"NetWare/config.wc",
"win32/config.vc",
"win32/config.vc64",
"win32/config.ce",
- "wince/config.ce",
"configure.com",
+ "Porting/config.sh",
);
sub read_file {
sub config_h_SH_reader {
my $cfg = shift;
return sub {
- return if 1../^echo \"Extracting \$CONFIG_H/;
- while (/[^\\]\$(\w+)/g) {
+ while (/[^\\]\$([a-z]\w+)/g) {
my $v = $1;
next if $v =~ /^(CONFIG_H|CONFIG_SH)$/;
$cfg->{$v}++;
for my $cfg (@CFG) {
unless (exists $MANIFEST{$cfg}) {
- print "[skipping not-expected '$cfg']\n";
+ print STDERR "[skipping not-expected '$cfg']\n";
next;
}
my %cfg;
read_file($cfg,
sub {
- return if /^\#/ || /^\s*$/;
+ return if /^\#/ || /^\s*$/ || /^\:/;
if ($cfg eq 'configure.com') {
- s/\s*!.*$//; # remove trailing comments
+ s/(\s*!.*|\s*)$//; # remove trailing comments or whitespace
return if ! /^\$\s+WC "(\w+)='(.*)'"$/;
}
# foo='bar'
warn "$cfg:$.:$_";
}
});
+ if ($cfg eq 'configure.com') {
+ $cfg{startperl}++; # Cheat.
+ }
check_cfg($cfg, \%cfg);
}