summaryrefslogtreecommitdiff
path: root/bin/confdiff.sh
blob: 568fcd6d56ec28e7a456ce0792056bba83c843a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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