Add script that detects useless AC_DEFINE()'s in configure.in
[ira/wip.git] / source / script / find_unused_defines.pl
1 #!/usr/bin/perl
2 # Script that reads in configure and outputs the names of all the defines 
3 # it defines that are used nowhere in the code
4
5 # Arguments:
6 #  1: configure.in
7 #  2: C files pattern
8
9 my %symbols;
10
11 # First, make a list of defines in configure
12 $in = shift;
13
14 while($tmp = shift) { 
15         open(FI, $tmp);
16         while(<FI>) { 
17                 while(/([A-Za-z0-9_]+)/sgm) { 
18                         $symbols{$1} = 1;
19                 }
20         }
21         close FI;
22 }
23
24 open(IN, $in) or die("Can't open $in");
25
26 while(<IN>) {
27         if(/AC_DEFINE\(([^,]+),/ and $symbols{$1} != 1) { print "$1\n"; } 
28 }
29
30 close IN;