51 lines
1,012 B
Bash
51 lines
1,012 B
Bash
#!/bin/sh -
|
|
#
|
|
# $Id: chk.define 7 2007-02-03 13:34:17Z gburd $
|
|
#
|
|
# Check to make sure that all #defines are actually used.
|
|
# Check to make sure that all #defines start in column 1.
|
|
|
|
d=../..
|
|
|
|
[ -f $d/LICENSE ] || {
|
|
echo 'FAIL: cannot find source distribution directory.'
|
|
exit 1
|
|
}
|
|
|
|
exitv=0
|
|
t1=__1
|
|
t2=__2
|
|
t3=__3
|
|
|
|
find $d -name '*.c' -o -name '*.cpp' |
|
|
sed -e '/queue.h/d' |
|
|
xargs egrep '^[ ][ ]*#' > $t1
|
|
test -s $t1 && {
|
|
echo "FAIL: found #defines with leading white space:"
|
|
cat $t1
|
|
exit 1
|
|
}
|
|
|
|
egrep '^#define' $d/src/inc/*.h $d/src/inc/*.in |
|
|
awk '{print $2}' |
|
|
sed -e '/_H_/d' \
|
|
-e 's/(.*//' | sort > $t1
|
|
|
|
find $d -name '*.c' -o -name '*.cpp' > $t2
|
|
for i in `cat $t1`; do
|
|
if egrep -w $i `cat $t2` > /dev/null; then
|
|
:;
|
|
else
|
|
f=`egrep -l "#define.*$i" $d/src/inc/*.h $d/src/inc/*.in |
|
|
sed 's;\.\.\/\.\.\/inc/;;' | tr -s "[:space:]" " "`
|
|
echo "FAIL: $i: $f"
|
|
fi
|
|
done | sort -k 2 > $t3
|
|
|
|
test -s $t3 && {
|
|
cat $t3
|
|
echo "FAIL: found unused #defines"
|
|
exit 1
|
|
}
|
|
|
|
exit $exitv
|