diff options
| author | He Zhe <zhe.he@windriver.com> | 2020-03-27 11:54:12 +0800 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2020-03-27 01:47:53 -0700 |
| commit | 989e57d10860df920eaf44b2079ae5c86041090c (patch) | |
| tree | 7f7772301d713fef9435962cb0882357f46c5708 | |
| parent | 525f1c4ade8774ec8c8a6a0045a6860574220335 (diff) | |
| download | meta-openembedded-989e57d10860df920eaf44b2079ae5c86041090c.tar.gz | |
turbostat: Fix build failure for missing kernel internal heaers and clean up
To fix the following build failures
turbostat.c:(.text+0xc28a): undefined reference to `UL'
turbostat.c:33:10: fatal error: sys/capability.h: No such file or directory (for kernel v5.6-rc7)
- Add dependency on libcap for kernel v5.6-rc7 and later versions
- Copy internal linux/const.h used by previously added internal linux/bits.h
- Tweak linux/const.h to allow it to refer to uapi const.h, as
linux-libc-headers purposely removes _UAPI from the locker macros of the
headers
- Remove -I for kernel-source in EXTRA_OEMAKE, as linux-kernel-headers has
provided enough and necessary headers
- Make do_configure depend on kernel's do_shared_workdir
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
| -rw-r--r-- | meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb index 5f6588de5f..60040a47af 100644 --- a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb +++ b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb | |||
| @@ -21,7 +21,7 @@ SRC_URI += "\ | |||
| 21 | " | 21 | " |
| 22 | 22 | ||
| 23 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 23 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
| 24 | DEPENDS = "virtual/kernel" | 24 | DEPENDS = "libcap" |
| 25 | 25 | ||
| 26 | # This looks in S, so we better make sure there's | 26 | # This looks in S, so we better make sure there's |
| 27 | # something in the directory. | 27 | # something in the directory. |
| @@ -30,25 +30,28 @@ do_populate_lic[depends] = "${PN}:do_configure" | |||
| 30 | 30 | ||
| 31 | 31 | ||
| 32 | EXTRA_OEMAKE = '\ | 32 | EXTRA_OEMAKE = '\ |
| 33 | CC="${CC}" \ | 33 | CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \ |
| 34 | 'CFLAGS=-Wall -I${STAGING_KERNEL_DIR}/arch/x86/include/uapi ${LDFLAGS}' \ | ||
| 35 | ' | 34 | ' |
| 36 | 35 | ||
| 37 | # If we build under STAGING_KERNEL_DIR, source will not be put | 36 | # If we build under STAGING_KERNEL_DIR, source will not be put |
| 38 | # into the dbg rpm. STAGING_KERNEL_DIR will exist by the time | 37 | # into the dbg rpm. STAGING_KERNEL_DIR will exist by the time |
| 39 | # do_configure() is invoked so we can safely copy from it. | 38 | # do_configure() is invoked so we can safely copy from it. |
| 40 | # | 39 | # |
| 40 | do_configure[depends] += "virtual/kernel:do_shared_workdir" | ||
| 41 | do_configure_prepend() { | 41 | do_configure_prepend() { |
| 42 | mkdir -p ${S} | 42 | mkdir -p ${S} |
| 43 | cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${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} | 44 | cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S} |
| 45 | cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S} | 45 | cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S} |
| 46 | cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S} | ||
| 46 | cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S} | 47 | cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S} |
| 47 | cp -r ${WORKDIR}/COPYING ${S} | 48 | cp -r ${WORKDIR}/COPYING ${S} |
| 48 | } | 49 | } |
| 49 | 50 | ||
| 50 | do_compile() { | 51 | do_compile() { |
| 51 | sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h | 52 | sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h |
| 53 | sed -i 's#<linux/const.h>#"const.h"#' bits.h | ||
| 54 | sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h | ||
| 52 | sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c | 55 | sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c |
| 53 | sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c | 56 | sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c |
| 54 | sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile | 57 | sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile |
