diff options
author | Dan Nicholson <[email protected]> | 2007-10-23 18:17:16 -0700 |
---|---|---|
committer | Dan Nicholson <[email protected]> | 2007-10-31 14:59:13 -0700 |
commit | d7eb97bbc3347bf37449db93463d646f6d5d7319 (patch) | |
tree | b503e4ceae0e8cebd4b68c436eaf9ff412030666 /bin/confdiff.sh | |
parent | c3b5adaa9a7bdb7e61305c32e4991e3b38dab902 (diff) |
confdiff.sh: A testing script for comparing configs settings
This is a simple script that compares the make variables set by two
different configs stubs. The purpose is to highlight differences so
that any unnecessary duplication or divergence can be removed.
For example, on Linux x86:
$ ./bin/confdiff.sh linux linux-x86
The output isn't very clean, but it should highlight that the only
difference is that the x86 target uses x86 assembler sources.
The script uses bash, mktemp, make, sed and diff. It is probably not
very portable and might only work on GNU make.
Diffstat (limited to 'bin/confdiff.sh')
-rwxr-xr-x | bin/confdiff.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/bin/confdiff.sh b/bin/confdiff.sh new file mode 100755 index 00000000000..568fcd6d56e --- /dev/null +++ b/bin/confdiff.sh @@ -0,0 +1,48 @@ +#!/bin/bash -e + +usage() +{ + echo "Usage: $0 <target1> <target2>" + echo "Highlight differences between Mesa configs" + echo "Example:" + echo " $0 linux linux-x86" +} + +die() +{ + echo "$@" >&2 + return 1 +} + +case "$1" in +-h|--help) usage; exit 0;; +esac + +[ $# -lt 2 ] && die 2 targets needed. See $0 --help +target1=$1 +target2=$2 + +topdir=$(cd "`dirname $0`"/..; pwd) +cd "$topdir" + +[ -f "./configs/$target1" ] || die Missing configs/$target1 +[ -f "./configs/$target2" ] || die Missing configs/$target2 + +trap 'rm -f "$t1" "$t2"' 0 + +t1=$(mktemp) +t2=$(mktemp) + +make -f- -n -p <<EOF | sed '/^# Not a target/,/^$/d' > $t1 +TOP = . +include \$(TOP)/configs/$target1 +default: +EOF + +make -f- -n -p <<EOF | sed '/^# Not a target/,/^$/d' > $t2 +TOP = . +include \$(TOP)/configs/$target2 +default: +EOF + +diff -pu -I'^#' $t1 $t2 |