Date: Fri, 17 Jun 2011 22:31:10 +0000 From: gk@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r223375 - soc2011/gk/ino64-head/tools/tools/shlib-compat Message-ID: <20110617223110.50B981065687@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: gk Date: Fri Jun 17 22:31:10 2011 New Revision: 223375 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=223375 Log: shlib-compat: Add helper script to make comparing directories with shared libraries easier Added: soc2011/gk/ino64-head/tools/tools/shlib-compat/shlib-compat-dirs (contents, props changed) Added: soc2011/gk/ino64-head/tools/tools/shlib-compat/shlib-compat-dirs ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2011/gk/ino64-head/tools/tools/shlib-compat/shlib-compat-dirs Fri Jun 17 22:31:10 2011 (r223375) @@ -0,0 +1,45 @@ +#!/bin/sh -e + +SHLIB_COMPAT=$(dirname $0)/shlib-compat + +if [ $# -ne 3 ]; then + echo "Usage: $0 orig-dir new-dir output-dir" + exit 1 +fi + +orig=$1 +new=$2 +out=$3 + +remove_empty() { + local i + for i in $*; do + [ -s $i ] || rm -f $i + done +} + +test_file() { + local i + for i in $*; do + if [ \! -f $1 ]; then + echo "file not found: $1" + return 1 + fi + done +} + +rorig=`realpath $orig` +rnew=`realpath $new` +list=`(cd $rorig; ls; cd $rnew; ls) | sort -u` +for i in $list; do + echo $i + test_file $orig/$i $new/$i || continue + $SHLIB_COMPAT --out-orig $out/$i.orig.c --out-new $out/$i.new.c -v \ + $orig/$i $new/$i > $out/$i.cmp 2> $out/$i.err || true + remove_empty $out/$i.orig.c $out/$i.new.c $out/$i.cmp $out/$i.err + if [ -f $out/$i.orig.c -a -f $out/$i.new.c ]; then + astyle --quiet --style=bsd -k3 $out/$i.orig.c $out/$i.new.c + rm -f $out/$i.orig.c.orig $out/$i.new.c.orig + diff -u $out/$i.orig.c $out/$i.new.c > $out/$i.diff || true + fi +done
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110617223110.50B981065687>