| Ingo Molnar | 0780060 | 2009-04-20 15:00:56 +0200 | [diff] [blame] | 1 | #!/bin/sh | 
 | 2 |  | 
| Arnaldo Carvalho de Melo | c29ede6 | 2010-03-27 14:30:45 -0300 | [diff] [blame] | 3 | if [ $# -eq 1 ]  ; then | 
 | 4 | 	OUTPUT=$1 | 
 | 5 | fi | 
 | 6 |  | 
 | 7 | GVF=${OUTPUT}PERF-VERSION-FILE | 
| Ingo Molnar | 0780060 | 2009-04-20 15:00:56 +0200 | [diff] [blame] | 8 |  | 
 | 9 | LF=' | 
 | 10 | ' | 
 | 11 |  | 
| Thavidu Ranatunga | 869599c | 2010-07-05 18:00:15 +1000 | [diff] [blame] | 12 | # First check if there is a .git to get the version from git describe | 
 | 13 | # otherwise try to get the version from the kernel makefile | 
 | 14 | if test -d ../../.git -o -f ../../.git && | 
| Ingo Molnar | 0780060 | 2009-04-20 15:00:56 +0200 | [diff] [blame] | 15 | 	VN=$(git describe --abbrev=4 HEAD 2>/dev/null) && | 
 | 16 | 	case "$VN" in | 
 | 17 | 	*$LF*) (exit 1) ;; | 
 | 18 | 	v[0-9]*) | 
 | 19 | 		git update-index -q --refresh | 
 | 20 | 		test -z "$(git diff-index --name-only HEAD --)" || | 
 | 21 | 		VN="$VN-dirty" ;; | 
 | 22 | 	esac | 
 | 23 | then | 
 | 24 | 	VN=$(echo "$VN" | sed -e 's/-/./g'); | 
 | 25 | else | 
| Andy Whitcroft | 37aa9a2 | 2011-06-15 14:35:00 +0100 | [diff] [blame] | 26 | 	VN=$(MAKEFLAGS= make -sC ../.. kernelversion) | 
| Ingo Molnar | 0780060 | 2009-04-20 15:00:56 +0200 | [diff] [blame] | 27 | fi | 
 | 28 |  | 
 | 29 | VN=$(expr "$VN" : v*'\(.*\)') | 
 | 30 |  | 
 | 31 | if test -r $GVF | 
 | 32 | then | 
 | 33 | 	VC=$(sed -e 's/^PERF_VERSION = //' <$GVF) | 
 | 34 | else | 
 | 35 | 	VC=unset | 
 | 36 | fi | 
 | 37 | test "$VN" = "$VC" || { | 
 | 38 | 	echo >&2 "PERF_VERSION = $VN" | 
 | 39 | 	echo "PERF_VERSION = $VN" >$GVF | 
 | 40 | } | 
 | 41 |  | 
 | 42 |  |