diff options
Diffstat (limited to 'source4/script/find_unused_makefilevars.pl')
-rwxr-xr-x | source4/script/find_unused_makefilevars.pl | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/source4/script/find_unused_makefilevars.pl b/source4/script/find_unused_makefilevars.pl new file mode 100755 index 0000000000..697ed54f5c --- /dev/null +++ b/source4/script/find_unused_makefilevars.pl @@ -0,0 +1,45 @@ +#!/usr/bin/perl +# Script that reads in Makefile.in and outputs the names of all +# used but undefined vars and all defined but unused vars + +# Arguments: +# 1: Makefile.in +# + +my %references; +my %defines; + +# First, make a list of defines in configure +$in = shift; + +open(IN, $in); +while(<IN>) { + my $line = $_; + while($line =~ /^\b([a-zA-Z0-9_][a-zA-Z0-9_]*)\b[ \t]*=.*/sgm) { + $defines{$1} = 1; + } + while($line =~ /\$\(([a-zA-Z0-9_][a-zA-Z0-9_]*)\)/sgm) { + $references{$1} = 1; + } +} +close IN; + +print "##### DEFINED BUT UNUSED: #####\n"; +foreach(%defines) { +# print $_." defined\n"; + + if ($_ != 1) { + if ($references{$_} != 1) { + print $_."\n"; + } + } +} + +print "##### USED BUT UNDEFINED: #####\n"; +foreach(%references) { + if ($_ != 1) { + if ($defines{$_} != 1) { + print $_."\n"; + } + } +} |