[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