1# 2# Copyright (C) 2013 Wind River Systems, Inc. 3# 4# This program is free software; you can redistribute it and/or modify 5# it under the terms of the GNU General Public License version 2 as 6# published by the Free Software Foundation. 7# 8SUMMARY = "Frequency and Idle power monitoring tools for Linux" 9 10DESCRIPTION = "The turbostat tool allows you to determine the actual \ 11processor frequency and idle power saving state residency on supported \ 12processors." 13 14LICENSE = "GPLv2" 15LIC_FILES_CHKSUM = "file://../COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" 16COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' 17COMPATIBLE_HOST_libc-musl = "null" 18 19SRC_URI += "\ 20 file://COPYING \ 21 " 22 23PACKAGE_ARCH = "${MACHINE_ARCH}" 24DEPENDS = "libcap" 25 26# This looks in S, so we better make sure there's 27# something in the directory. 28# 29do_populate_lic[depends] = "${PN}:do_configure" 30 31 32EXTRA_OEMAKE = '\ 33 CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \ 34 ' 35 36# If we build under STAGING_KERNEL_DIR, source will not be put 37# into the dbg rpm. STAGING_KERNEL_DIR will exist by the time 38# do_configure() is invoked so we can safely copy from it. 39# 40do_configure[depends] += "virtual/kernel:do_shared_workdir" 41do_configure_prepend() { 42 mkdir -p ${S} 43 cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S} 44 cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S} 45 if [ -f "${STAGING_KERNEL_DIR}/include/vdso/bits.h" ]; then 46 cp -r ${STAGING_KERNEL_DIR}/include/vdso/bits.h ${S} 47 cp -r ${STAGING_KERNEL_DIR}/include/vdso/const.h ${S} 48 else 49 cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S} 50 cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S} 51 fi 52 cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S} 53 cp -r ${WORKDIR}/COPYING ${S} 54} 55 56 57do_compile() { 58 sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h 59 'TMPCHECK='grep "<vdso/const.h>" bits.h'' || true 60 if [ -n $TMPCHECK ]; then 61 sed -i 's#<vdso/const.h>#"const.h"#' bits.h 62 sed -i 's#<uapi/linux/const.h>#<linux/const.h>#' const.h 63 else 64 sed -i 's#<linux/const.h>#"const.h"#' bits.h 65 sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h 66 fi 67 sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c 68 sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c 69 sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile 70 oe_runmake STAGING_KERNEL_DIR=${STAGING_KERNEL_DIR} 71} 72 73do_install() { 74 oe_runmake DESTDIR="${D}" install 75} 76