]> jfr.im git - irc/quakenet/newserv.git/blobdiff - depmod.pl
Merge pull request #2 from meeb/meeb
[irc/quakenet/newserv.git] / depmod.pl
index d0cc916f61c302e589dc6a48515c94ab78b4b445..9c53672b17b0a5e081b4ad8ffdbbf3a45f8024fc 100755 (executable)
--- a/depmod.pl
+++ b/depmod.pl
@@ -2,6 +2,8 @@
 
 use strict;
 
+my $verbose=0;
+
 my %definers;
 my %reqsyms;
 my %reqmods;
@@ -14,6 +16,12 @@ my @realarglist;
 open DEPENDS,">modules.dep";
 open GRAPH,">modgraph.dot";
 
+if (@ARGV) {
+  if ($ARGV[0] eq "--verbose" or $ARGV[0] eq "-v") {
+    $verbose=1;
+  }
+}
+
 for (@arglist) {
   my $modname=$_;
   open NM,"nm $modname |";
@@ -60,6 +68,9 @@ for (@realarglist) {
     
     if (defined $provider) {
       ${reqmods{$modname}}{$provider}=1;
+      if ($verbose) {
+        print "Module $modname importing $_ from $provider\n";
+      }
     }
   }
 }
@@ -85,6 +96,9 @@ sub printdep {
 
     print DEPENDS "$modname";
     for (keys %{$reqmods{$modname}}) {
+      if (defined ${$reqmods{$_}}{$modname}) {
+        print "ERROR: circular dependency between $modname and $_\n";
+      }
       print DEPENDS " $_";
       print GRAPH "\t\"$modname\" -> \"$_\";\n";
     }