[svn:parrot] r43409 - branches/one_make/tools/dev
coke at svn.parrot.org
coke at svn.parrot.org
Fri Jan 8 00:26:07 UTC 2010
Author: coke
Date: Fri Jan 8 00:26:06 2010
New Revision: 43409
URL: https://trac.parrot.org/parrot/changeset/43409
Log:
Actually report on missing .include dependencies.
Modified:
branches/one_make/tools/dev/checkdepend.pl
Modified: branches/one_make/tools/dev/checkdepend.pl
==============================================================================
--- branches/one_make/tools/dev/checkdepend.pl Fri Jan 8 00:20:57 2010 (r43408)
+++ branches/one_make/tools/dev/checkdepend.pl Fri Jan 8 00:26:06 2010 (r43409)
@@ -105,6 +105,7 @@
while ($guts =~ m/.include (["'])(.*)\1/g) {
push @includes, $2;
}
+ # XXX also check load_bytecode
# Canonicalize each of these includes.
@@ -225,6 +226,41 @@
}
}
+foreach my $file (sort grep {/\.pir$/} @files) {
+ my $rule = $file;
+ $rule =~ s/\.c$//;
+
+ $rules =~ /^${rule}.pbc\s*:\s*(.*)\s*$/m;
+ my $declared = $1;
+
+ my $failed = 0;
+ if (!defined($declared)) {
+ $failed = 1;
+ is("", join(' ', (get_deps($file))), "$file has no dependencies");
+ next;
+ }
+ else
+ {
+ $declared =~ s/\s+/ /g;
+ foreach my $inc (sort (get_deps($file))) {
+ next if $declared =~ s/\b\Q$inc\E\b//;
+
+ is($declared, $inc, "$file is missing a dependency.");
+ $failed = 1;
+
+ }
+ }
+ $declared =~ s/^\s+//;
+ $declared =~ s/\s+$//;
+ $declared =~ s/\s+/ /g;
+ if ($declared ne "") {
+ is($declared, '', "$file has extra dependencies.");
+ }
+ elsif (!$failed) {
+ pass($file);
+ }
+}
+
sub collapse_path {
my $path = shift;
return $path unless defined $path;
More information about the parrot-commits
mailing list