This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade Data::Dumper to 2.128
[perl5.git] / Porting / checkcfgvar.pl
old mode 100644 (file)
new mode 100755 (executable)
index 955120e..0ee7ddb
@@ -18,6 +18,8 @@ my %MASTER_CFG;
 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",
@@ -28,11 +30,13 @@ my @CFG = (
           "vos/config.ga.def",
           "win32/config.bc",
           "win32/config.gc",
+          "win32/config.gc64",
+          "win32/config.gc64nox",
           "win32/config.vc",
           "win32/config.vc64",
           "win32/config.ce",
-          "wince/config.ce",
           "configure.com",
+          "Porting/config.sh",
          );
 
 sub read_file {
@@ -50,8 +54,7 @@ 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}++;
@@ -80,15 +83,15 @@ sub check_cfg {
 
 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'
@@ -107,5 +110,8 @@ for my $cfg (@CFG) {
                      warn "$cfg:$.:$_";
                  }
              });
+    if ($cfg eq 'configure.com') {
+       $cfg{startperl}++; # Cheat.
+    }
     check_cfg($cfg, \%cfg);
 }