Skip to content

Commit

Permalink
cpupowerutils: use kernel version-derived version string
Browse files Browse the repository at this point in the history
As cpupowerutils is intended to be included into the kernel sources,
use the kernel versioning instead of a custom version.

The script utils/version-gen.sh is largely based on the script already
found in tools/perf/util/PERF-VERSION-GEN .

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
  • Loading branch information
Dominik Brodowski committed Jul 29, 2011
1 parent a1ce5ba commit af594f0
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 7 deletions.
13 changes: 6 additions & 7 deletions tools/power/cpupower/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ DESTDIR ?=
# Package-related definitions. Distributions can modify the version
# and _should_ modify the PACKAGE_BUGREPORT definition

VERSION = 009p1
VERSION= $(shell ./utils/version-gen.sh)
LIB_MAJ= 0.0.0
LIB_MIN= 0

Expand Down Expand Up @@ -110,7 +110,7 @@ WARNINGS += $(call cc-supports,-Wno-pointer-sign)
WARNINGS += $(call cc-supports,-Wdeclaration-after-statement)
WARNINGS += -Wshadow

CPPFLAGS += -DVERSION=\"$(VERSION)\" -DPACKAGE=\"$(PACKAGE)\" \
CFLAGS += -DVERSION=\"$(VERSION)\" -DPACKAGE=\"$(PACKAGE)\" \
-DPACKAGE_BUGREPORT=\"$(PACKAGE_BUGREPORT)\" -D_GNU_SOURCE

UTIL_OBJS = utils/helpers/amd.o utils/helpers/topology.o utils/helpers/msr.o \
Expand Down Expand Up @@ -157,8 +157,7 @@ export QUIET ECHO

# if DEBUG is enabled, then we do not strip or optimize
ifeq ($(strip $(DEBUG)),true)
CFLAGS += -O1 -g
CPPFLAGS += -DDEBUG
CFLAGS += -O1 -g -DDEBUG
STRIPCMD = /bin/true -Since_we_are_debugging
else
CFLAGS += $(OPTIMIZATION) -fomit-frame-pointer
Expand All @@ -172,11 +171,11 @@ all: libcpufreq cpupower $(COMPILE_NLS) $(COMPILE_BENCH)

lib/%.o: $(LIB_SRC) $(LIB_HEADERS)
$(ECHO) " CC " $@
$(QUIET) $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ -c lib/$*.c
$(QUIET) $(CC) $(CFLAGS) -fPIC -o $@ -c lib/$*.c

libcpufreq.so.$(LIB_MAJ): $(LIB_OBJS)
$(ECHO) " LD " $@
$(QUIET) $(CC) -shared $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
$(QUIET) $(CC) -shared $(CFLAGS) $(LDFLAGS) -o $@ \
-Wl,-soname,libcpufreq.so.$(LIB_MIN) $(LIB_OBJS)
@ln -sf $@ libcpufreq.so
@ln -sf $@ libcpufreq.so.$(LIB_MIN)
Expand All @@ -189,7 +188,7 @@ $(UTIL_OBJS): $(UTIL_HEADERS)

.c.o:
$(ECHO) " CC " $@
$(QUIET) $(CC) $(CFLAGS) $(CPPFLAGS) -I./lib -I ./utils -o $@ -c $*.c
$(QUIET) $(CC) $(CFLAGS) -I./lib -I ./utils -o $@ -c $*.c

cpupower: $(UTIL_OBJS) libcpufreq.so.$(LIB_MAJ)
$(ECHO) " CC " $@
Expand Down
35 changes: 35 additions & 0 deletions tools/power/cpupower/utils/version-gen.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/sh
#
# Script which prints out the version to use for building cpupowerutils.
# Must be called from tools/power/cpupower/
#
# Heavily based on tools/perf/util/PERF-VERSION-GEN .

LF='
'

# First check if there is a .git to get the version from git describe
# otherwise try to get the version from the kernel makefile
if test -d ../../../.git -o -f ../../../.git &&
VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
case "$VN" in
*$LF*) (exit 1) ;;
v[0-9]*)
git update-index -q --refresh
test -z "$(git diff-index --name-only HEAD --)" ||
VN="$VN-dirty" ;;
esac
then
VN=$(echo "$VN" | sed -e 's/-/./g');
else
eval $(grep '^VERSION[[:space:]]*=' ../../../Makefile|tr -d ' ')
eval $(grep '^PATCHLEVEL[[:space:]]*=' ../../../Makefile|tr -d ' ')
eval $(grep '^SUBLEVEL[[:space:]]*=' ../../../Makefile|tr -d ' ')
eval $(grep '^EXTRAVERSION[[:space:]]*=' ../../../Makefile|tr -d ' ')

VN="${VERSION}.${PATCHLEVEL}.${SUBLEVEL}${EXTRAVERSION}"
fi

VN=$(expr "$VN" : v*'\(.*\)')

echo $VN

0 comments on commit af594f0

Please sign in to comment.