[svn:parrot] r43218 - in trunk: config/gen/makefiles tools/dev
coke at svn.parrot.org
coke at svn.parrot.org
Wed Dec 23 03:28:34 UTC 2009
Author: coke
Date: Wed Dec 23 03:28:24 2009
New Revision: 43218
URL: https://trac.parrot.org/parrot/changeset/43218
Log:
.h can also other .h's, and so on ad infinitum.
(Check for this; fix all instances found by the new improved check depend.)
Modified:
trunk/config/gen/makefiles/root.in
trunk/tools/dev/checkdepend.pl
Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in Wed Dec 23 02:59:25 2009 (r43217)
+++ trunk/config/gen/makefiles/root.in Wed Dec 23 03:28:24 2009 (r43218)
@@ -1269,10 +1269,14 @@
$(PMC_INC_DIR)/pmc/pmc_unmanagedstruct.h \
$(PMC_INC_DIR)/pmc/pmc_managedstruct.h
+$(SRC_DIR)/frame_builder.h : $(INC_DIR)/parrot.h $(INC_DIR)/hash.h \
+ $(INC_DIR)/oplib/ops.h
+
$(SRC_DIR)/vtables$(O) : $(INC_DIR)/parrot.h $(INC_DIR)/vtables.h \
$(SRC_DIR)/vtables.c
$(SRC_DIR)/gc/system$(O) : $(INC_DIR)/parrot.h $(SRC_DIR)/gc/gc_private.h
+$(SRC_DIR)/gc/gc_private.h : $(INC_DIR)/settings.h
$(SRC_DIR)/nci.c : $(SRC_DIR)/call_list.txt $(BUILD_TOOLS_DIR)/nativecall.pl \
$(PMC_INC_DIR)/pmc/pmc_nci.h
@@ -1339,6 +1343,8 @@
compilers/pirc/src/pirparser.h compilers/pirc/src/piryy.h \
compilers/pirc/src/pirlexer.h compilers/pirc/src/pirerr.h
+compilers/imcc/parser.h : compilers/imcc/imcparser.h
+
compilers/imcc/pbc$(O) : $(INC_DIR)/packfile.h \
compilers/imcc/imc.h \
compilers/imcc/pbc.h \
@@ -1363,10 +1369,34 @@
$(PMC_INC_DIR)/pmc/pmc_namespace.h \
$(PMC_INC_DIR)/pmc/pmc_callcontext.h
+compilers/pirc/src/bcgen.h : $(INC_DIR)/parrot.h $(INC_DIR)/embed.h \
+ compilers/pirc/src/pircompunit.h
+
+compilers/pirc/src/pircompunit.h : compilers/pirc/src/pirdefines.h \
+ compilers/pirc/src/bcgen.h
+
+compilers/pirc/src/pirerr.h : compilers/pirc/src/piryy.h
+compilers/pirc/src/pirop.h : compilers/pirc/src/pircompiler.h
+compilers/pirc/src/pirpcc.h : compilers/pirc/src/pircompiler.h \
+ compilers/pirc/src/pircompunit.h
+compilers/pirc/src/pirsymbol.h : compilers/pirc/src/pircompiler.h \
+ compilers/pirc/src/pircompunit.h \
+ compilers/pirc/src/pirregalloc.h
+compilers/pirc/src/pircompiler.h : compilers/pirc/src/pirsymbol.h \
+ compilers/pirc/src/pircompunit.h \
+ compilers/pirc/src/pirregalloc.h \
+ compilers/pirc/src/pirmacro.h \
+ $(INC_DIR)/embed.h $(INC_DIR)/parrot.h
+
compilers/imcc/imc$(O) : \
compilers/imcc/imc.h \
compilers/imcc/optimizer.h
+compilers/imcc/imc.h : $(INC_DIR)/parrot.h $(INC_DIR)/oplib/ops.h \
+ compilers/imcc/symreg.h compilers/imcc/instructions.h \
+ compilers/imcc/sets.h compilers/imcc/cfg.h compilers/imcc/unit.h \
+ compilers/imcc/debug.h
+
compilers/pirc/src/pirregalloc$(O) : \
compilers/pirc/src/pircompiler.h \
compilers/pirc/src/pirregalloc.h \
@@ -1394,6 +1424,8 @@
compilers/imcc/optimizer$(O) : $(PMC_INC_DIR)/pmc/pmc_callcontext.h \
compilers/imcc/imc.h compilers/imcc/pbc.h compilers/imcc/optimizer.h \
+compilers/imcc/optimizer.h : compilers/imcc/unit.h
+
compilers/imcc/reg_alloc$(O) : compilers/imcc/imc.h compilers/imcc/optimizer.h
compilers/imcc/sets$(O) : compilers/imcc/imc.h compilers/imcc/sets.h
Modified: trunk/tools/dev/checkdepend.pl
==============================================================================
--- trunk/tools/dev/checkdepend.pl Wed Dec 23 02:59:25 2009 (r43217)
+++ trunk/tools/dev/checkdepend.pl Wed Dec 23 03:28:24 2009 (r43218)
@@ -26,7 +26,7 @@
=cut
-my $files = `ack -fa {src,compilers} | grep '\\.c\$'`;
+my $files = `ack -fa {src,compilers} | grep '\\.[ch]\$'`;
my %deps;
@@ -41,7 +41,6 @@
next if $file =~ m{src/(ops|dynoplibs|dynpmc|pmc)/};
next if $file =~ m{src/string/(charset|encoding)/};
my @includes = $guts =~ m/#include "(.*)"/g;
- $file =~ s/\.c$//;
$deps{$file} = [ @includes ];
}
@@ -61,11 +60,21 @@
$rules =~ s/\Q$(PMC_INC_DIR)\E/include/g;
$rules =~ s/\Q$(INC_DIR)\E/include\/parrot/g;
$rules =~ s/\Q$(OPS_DIR)\E/src\/ops/g;
-$rules =~ s/\Q$(O)\E//g;
foreach my $file (sort keys %deps) {
- $rules =~ /^$file\s*:\s*(.*)\s*$/m;
- my $declared = $1;
+ my $rule = $file;
+
+ my $declared;
+ if ($rule =~ s/\.c$//) {
+ $rules =~ /^$rule\Q$(O)\E\s*:\s*(.*)\s*$/m;
+ $declared = $1;
+ } elsif ($rule =~ s/\.h$//) {
+ $rules =~ /^$rule\.h\s*:\s*(.*)\s*$/m;
+ $declared = $1;
+ } else {
+ die "unexpected file $file\n";
+ }
+
my $failed = 0;
if (!defined($declared)) {
$failed = 1;
More information about the parrot-commits
mailing list