summaryrefslogtreecommitdiff
path: root/db-4.8.30/test/scr002/chk.def
blob: 16001fd2d68ec822e0a847242a909166a6eb7fdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/sh -
#
# $Id$
#
# Check to make sure we haven't forgotten to add any interfaces
# to the Windows 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_windows/libdb.def
t1=__1
t2=__2

exitv=0

sed '/; /d' $f |
    egrep @ |
    awk '{print $1}' |
    sed -e '/^__/d' \
	-e '/^;/d' |
    sort > $t1

egrep __P $d/dbinc_auto/ext_prot.in |
    sed '/^[a-z]/!d' |
    awk '{print $2}' |
    sed -e 's/^\*//' \
	-e '/db_env_set_func_\(free\|malloc\|realloc\)/p' \
	-e '/db_env_set_func_/d' |
    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' |
    sed -e '/__db_C*/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