[svn:parrot] r43596 - trunk/tools/dev

cotto at svn.parrot.org cotto at svn.parrot.org
Tue Jan 26 08:48:52 UTC 2010


Author: cotto
Date: Tue Jan 26 08:48:51 2010
New Revision: 43596
URL: https://trac.parrot.org/parrot/changeset/43596

Log:
[checkdepends] Trade one bug for another.  Also, upgrade this from a braindead script to a script.

Modified:
   trunk/tools/dev/checkdepend.pl

Modified: trunk/tools/dev/checkdepend.pl
==============================================================================
--- trunk/tools/dev/checkdepend.pl	Tue Jan 26 02:55:16 2010	(r43595)
+++ trunk/tools/dev/checkdepend.pl	Tue Jan 26 08:48:51 2010	(r43596)
@@ -18,8 +18,7 @@
 
 =head1 DESCRIPTION
 
-A braindead script to check that every file has makefile deps
-on its includes.
+A script to check that every file has makefile deps on its includes.
 
  checkdepend.pl [--dump]
 
@@ -34,10 +33,14 @@
 
 =head1 BUGS
 
-The pre-processing of the makefile doesn't follow make's behavior: variables
-should have no value until they are defined; in our pre-processing, their
-values are propagated throughout the makefile regardless of order; This could
-cause false positives in the test output.
+This script will currently generate false positives.  This happens because it
+assumes that there must be a fixed relationship between source and object
+files, e.g. C<buz/baz/foo.pir> will be built into C<buz/baz/foo.pbc>.  This
+assumption holds in most cases but breaks down when a file with a dependency is
+not compiled into an object file of the same name.  A possible solution to this
+is to use C-style compilation with separate build and "link" targets using
+pbc_merge.  The other alternative involves making this script significantly
+smarter about figuring out which rules create a given object file.
 
 =cut
 


More information about the parrot-commits mailing list