#!/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 " 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."