Browse Source

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.
tags/mesa_7_1_rc1
Dan Nicholson 18 years ago
parent
commit
d7eb97bbc3
1 changed files with 48 additions and 0 deletions
  1. 48
    0
      bin/confdiff.sh

+ 48
- 0
bin/confdiff.sh View File

@@ -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

Loading…
Cancel
Save