diff options
-rwxr-xr-x | source4/script/find_unused_function_checks.pl | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/source4/script/find_unused_function_checks.pl b/source4/script/find_unused_function_checks.pl new file mode 100755 index 0000000000..4704e907f8 --- /dev/null +++ b/source4/script/find_unused_function_checks.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl +# Arguments: +# 1: configure.in +# 2: C files +# +# You might want to specify configure.in again in the list of header files +# as well, because it also uses some includes. +# Note that this script does not process any includes, so you might +# have to run "cat configure.in */config.m4 > foo.in" first. + +my %symbols; + +# First, make a list of defines in configure +$in = shift; + +while($tmp = shift) { + open(FI, $tmp); + while(<FI>) { + while(/([A-Za-z0-9_]+)/sgm) { + $symbols{$1} = 1; + } + } + close FI; +} + +open(IN, $in) or die("Can't open $in"); + +while(<IN>) { + if(/AC_CHECK_FUNCS\(([\[]*)(.*)([\]]*)\)/) { + @hs = split / /, $2; + foreach(@hs) { + if($symbols{$_} != 1) { print "$_\n"; } + } + } +} + +close IN; |