X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/blobdiff_plain/7bbde1041639bc1cd6c2cd0b88d85c32c2510e78..3e1b768066a16c4b899b9cbdd7911be883151a05:/depmod.pl diff --git a/depmod.pl b/depmod.pl index d0cc916f..9c53672b 100755 --- 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"; }