107800601SIngo Molnar#!/bin/sh 2b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 307800601SIngo Molnar 4c29ede61SArnaldo Carvalho de Meloif [ $# -eq 1 ] ; then 5c29ede61SArnaldo Carvalho de Melo OUTPUT=$1 6c29ede61SArnaldo Carvalho de Melofi 7c29ede61SArnaldo Carvalho de Melo 8c29ede61SArnaldo Carvalho de MeloGVF=${OUTPUT}PERF-VERSION-FILE 907800601SIngo Molnar 1007800601SIngo MolnarLF=' 1107800601SIngo Molnar' 1207800601SIngo Molnar 130e2af956SIngo Molnar# 1481935f10SWill Chandler# Use version from kernel Makefile unless not in a git repository and 1581935f10SWill Chandler# PERF-VERSION-FILE exists 160e2af956SIngo Molnar# 17a4147f0fSRobert RichterCID= 18a4147f0fSRobert RichterTAG= 19a4147f0fSRobert Richterif test -d ../../.git -o -f ../../.git 2007800601SIngo Molnarthen 217572733bSJohn Garry TAG=$(MAKEFLAGS= make -sC ../.. kernelversion) 22*f24fb539SAhelenia Ziemiańska CID=$(git log -1 --abbrev=12 --pretty=format:"%h" --no-show-signature 2>/dev/null) && CID="-g$CID" 2381935f10SWill Chandlerelif test -f ../../PERF-VERSION-FILE 2481935f10SWill Chandlerthen 25a614d01bSDavid Ahern TAG=$(cut -d' ' -f3 ../../PERF-VERSION-FILE | sed -e 's/\"//g') 26a4147f0fSRobert Richterfi 2781935f10SWill Chandlerif test -z "$TAG" 2881935f10SWill Chandlerthen 2981935f10SWill Chandler TAG=$(MAKEFLAGS= make -sC ../.. kernelversion) 3081935f10SWill Chandlerfi 317572733bSJohn Garry 32a4147f0fSRobert RichterVN="$TAG$CID" 33a4147f0fSRobert Richterif test -n "$CID" 34a4147f0fSRobert Richterthen 35a4147f0fSRobert Richter # format version string, strip trailing zero of sublevel: 36a4147f0fSRobert Richter VN=$(echo "$VN" | sed -e 's/-/./g;s/\([0-9]*[.][0-9]*\)[.]0/\1/') 3707800601SIngo Molnarfi 3807800601SIngo Molnar 3907800601SIngo MolnarVN=$(expr "$VN" : v*'\(.*\)') 4007800601SIngo Molnar 4107800601SIngo Molnarif test -r $GVF 4207800601SIngo Molnarthen 433cecaa20SNamhyung Kim VC=$(sed -e 's/^#define PERF_VERSION "\(.*\)"/\1/' <$GVF) 4407800601SIngo Molnarelse 4507800601SIngo Molnar VC=unset 4607800601SIngo Molnarfi 4707800601SIngo Molnartest "$VN" = "$VC" || { 4807800601SIngo Molnar echo >&2 " PERF_VERSION = $VN" 493cecaa20SNamhyung Kim echo "#define PERF_VERSION \"$VN\"" >$GVF 5007800601SIngo Molnar} 5107800601SIngo Molnar 5207800601SIngo Molnar 53