diff options
Diffstat (limited to 'source4/script/find_unused_header_checks.pl')
-rwxr-xr-x | source4/script/find_unused_header_checks.pl | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/source4/script/find_unused_header_checks.pl b/source4/script/find_unused_header_checks.pl new file mode 100755 index 0000000000..3caf9da453 --- /dev/null +++ b/source4/script/find_unused_header_checks.pl @@ -0,0 +1,38 @@ +#!/usr/bin/perl +# Script that reads in configure and outputs the names of all the defines +# it defines that are used nowhere in the code + +# Arguments: +# 1: configure.in +# 2: header files +# +# You might want to specify configure.in again in the list of header files +# as well, because it also uses some includes. + +my %symbols; + +# First, make a list of defines in configure +$in = shift; + +while($tmp = shift) { + open(FI, $tmp); + while(<FI>) { + while(/\#([ \t]*)include <(.*)>/sgm) { + $symbols{$2} = 1; + } + } + close FI; +} + +open(IN, $in) or die("Can't open $in"); + +while(<IN>) { + if(/AC_CHECK_HEADERS\(([\[]*)(.*)([\]]*)\)/) { + @hs = split / /, $2; + foreach(@hs) { + if($symbols{$_} != 1) { print "|$_|\n"; } + } + } +} + +close IN; |