dbsql/test/scr002/chk.def

69 lines
1.2 KiB
Bash

#!/bin/sh -
#
# Check to make sure we haven't forgotten to add any interfaces
# to the Win32 libdb.def file.
d=../..
# Test must be run from the top-level directory, not from a test directory.
[ -f $d/LICENSE ] || {
echo 'FAIL: cannot find source distribution directory.'
exit 1
}
f=$d/build_win32/libdb.def
t1=__1
t2=__2
trap 'rm -f $t1 $t2' 0 1 2 3 13 15
exitv=0
[ -f $f ] || {
echo 'FAIL: unable to find or build' $f
exit 1
}
sed '/; /d' $f |
egrep @ |
awk '{print $1}' |
sed -e '/db_xa_switch/d' \
-e '/^__/d' -e '/^;/d' |
sort > $t1
egrep __P $d/dbinc_auto/ext_prot.in |
sed '/^[a-z]/!d' |
awk '{print $2}' |
sed 's/^\*//' |
sed '/^__/d' | sort > $t2
if cmp -s $t1 $t2 ; then
:
else
echo "<<< libdb.def >>> DB include files"
diff $t1 $t2
echo "FAIL: missing items in libdb.def file."
exitv=1
fi
# Check to make sure we don't have any extras in the libdb.def file.
sed '/; /d' $f |
egrep @ |
awk '{print $1}' |
sed -e '/__db_global_values/d' > $t1
for i in `cat $t1`; do
if egrep $i $d/*/*.c > /dev/null; then
:
else
echo "$f: $i not found in DB sources"
fi
done > $t2
test -s $t2 && {
cat $t2
echo "FAIL: found unnecessary items in libdb.def file."
exitv=1
}
exit $exitv