blob: 1f61e4201ae9394eca4ff783321f03649aadaade [file] [log] [blame]
#!/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."