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