xref: /openbmc/linux/tools/perf/util/PERF-VERSION-GEN (revision ea68a3e9d14e9e0bf017d178fb4bd53b6deb1482)
186470930SIngo Molnar#!/bin/sh
2b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
386470930SIngo 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
986470930SIngo Molnar
1086470930SIngo MolnarLF='
1186470930SIngo Molnar'
1286470930SIngo 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
2086470930SIngo 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/')
3786470930SIngo Molnarfi
3886470930SIngo Molnar
3986470930SIngo MolnarVN=$(expr "$VN" : v*'\(.*\)')
4086470930SIngo Molnar
4186470930SIngo Molnarif test -r $GVF
4286470930SIngo Molnarthen
433cecaa20SNamhyung Kim	VC=$(sed -e 's/^#define PERF_VERSION "\(.*\)"/\1/' <$GVF)
4486470930SIngo Molnarelse
4586470930SIngo Molnar	VC=unset
4686470930SIngo Molnarfi
4786470930SIngo Molnartest "$VN" = "$VC" || {
4886470930SIngo Molnar	echo >&2 "  PERF_VERSION = $VN"
493cecaa20SNamhyung Kim	echo "#define PERF_VERSION \"$VN\"" >$GVF
5086470930SIngo Molnar}
5186470930SIngo Molnar
5286470930SIngo Molnar
53