X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/blobdiff_plain/27ce0548659b866469bb01b639aab0682a4ea667..f651cddfa1748d9624e3a8b2ec2335dcde246a5c:/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"; }