55 lines
1.0 KiB
Plaintext
55 lines
1.0 KiB
Plaintext
|
#!/bin/sh
|
||
|
#
|
||
|
# simplistic script to check all header files for
|
||
|
# differences. Intended to help detect api changes
|
||
|
# between releases.
|
||
|
#
|
||
|
# it's not pretty or efficient, and inspection of
|
||
|
# the results must be done manually.
|
||
|
#
|
||
|
# it's also not secure (don't run as root)
|
||
|
# or portable. Tested on Linux.
|
||
|
#
|
||
|
|
||
|
if [ "x$1" = "x" -o "x$2" = "x" ]; then
|
||
|
echo "Usage: $0 <old-dir> <new-dir>"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
od=$1
|
||
|
nd=$2
|
||
|
DIR=/tmp
|
||
|
OUTPUT=$DIR/api-diff.pat
|
||
|
ODT=$DIR/api-od
|
||
|
|
||
|
if [ ! -d $od ]; then
|
||
|
echo "old dir $od doesn't exist"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [ ! -d $nd ]; then
|
||
|
echo "old dir $nd doesn't exist"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# find header in nd
|
||
|
rm -f $OUTPUT $ODT 2>/dev/null
|
||
|
(cd $od && find . -type f -name "*.h"|sort > $ODT)
|
||
|
|
||
|
OH=`cat $ODT`
|
||
|
for h in $OH
|
||
|
do
|
||
|
nh=$nd/$h
|
||
|
oh=$od/$h
|
||
|
echo "* $nh"
|
||
|
if [ -f "$nh" ]; then
|
||
|
echo "* diff: $h vs $nh" >> $OUTPUT
|
||
|
diff -u $oh $nh >> $OUTPUT 2>&1
|
||
|
else
|
||
|
echo "* Old header $h not found in new headers" >> $OUTPUT
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
echo "Inspect output in $OUTPUT"
|
||
|
echo "See Makefile.top for libtool version bumping rules."
|