perf: use PACKAGECONFIG instead of hand-rolled logic
PERF_FEATURES_ENABLE and perf_feature_enabled() was basically a poor man's clone of PACKAGECONFIG, without the automatic handling of dependencies and configure options. As part of the port to PACKAGECONFIG the options have been changed to remove the perf- prefix, but are otherwise unchanged. Also remove BUILDPERF_libc_uclibc assignment as nothing in the metadata uses a BUILDPERF variable. (From OE-Core rev: 33d05772c30036e8d2bb2dc8928989bf98d388f1) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
3b262f458c
commit
73adcf1b66
|
@ -1,22 +0,0 @@
|
|||
PERF_FEATURES_ENABLE ?= "perf-scripting perf-tui"
|
||||
|
||||
def perf_feature_enabled(feature, trueval, falseval, d):
|
||||
"""
|
||||
Check which perf features are enabled.
|
||||
|
||||
The PERF_FEATURES_ENABLE variable lists the perf features to
|
||||
enable. Override it if you want something different from what's
|
||||
listed above, which is the default. If empty, the build won't
|
||||
enable any features (which may be exactly what you want, just a
|
||||
barebones perf without any extra baggage, what you get if you
|
||||
specify an empty feature list).
|
||||
|
||||
Available perf features:
|
||||
perf-scripting: enable support for Perl and Python bindings
|
||||
perf-tui: enable support for the perf TUI (via libnewt)
|
||||
|
||||
"""
|
||||
enabled_features = d.getVar("PERF_FEATURES_ENABLE") or ""
|
||||
if feature in enabled_features:
|
||||
return trueval
|
||||
return falseval
|
|
@ -10,24 +10,21 @@ LICENSE = "GPLv2"
|
|||
|
||||
PR = "r9"
|
||||
|
||||
require perf-features.inc
|
||||
|
||||
BUILDPERF_libc-uclibc = "no"
|
||||
|
||||
PACKAGECONFIG ??= "scripting tui"
|
||||
PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python"
|
||||
# gui support was added with kernel 3.6.35
|
||||
# since 3.10 libnewt was replaced by slang
|
||||
# to cover a wide range of kernel we add both dependencies
|
||||
TUI_DEPENDS = "${@perf_feature_enabled('perf-tui', 'libnewt slang', '',d)}"
|
||||
SCRIPTING_DEPENDS = "${@perf_feature_enabled('perf-scripting', 'perl python', '',d)}"
|
||||
LIBUNWIND_DEPENDS = "${@perf_feature_enabled('perf-libunwind', 'libunwind', '',d)}"
|
||||
PACKAGECONFIG[tui] = ",NO_NEWT=1,libnewt slang"
|
||||
PACKAGECONFIG[libunwind] = ",NO_LIBUNWIND=1 NO_LIBDW_DWARF_UNWIND=1,libunwind"
|
||||
PACKAGECONFIG[libnuma] = ",NO_LIBNUMA=1"
|
||||
|
||||
DEPENDS = " \
|
||||
virtual/${MLPREFIX}libc \
|
||||
${MLPREFIX}elfutils \
|
||||
${MLPREFIX}binutils \
|
||||
${TUI_DEPENDS} \
|
||||
${SCRIPTING_DEPENDS} \
|
||||
${LIBUNWIND_DEPENDS} \
|
||||
bison flex xz \
|
||||
xmlto-native \
|
||||
asciidoc-native \
|
||||
|
@ -61,11 +58,6 @@ inherit kernelsrc
|
|||
B = "${WORKDIR}/${BPN}-${PV}"
|
||||
SPDX_S = "${S}/tools/perf"
|
||||
|
||||
SCRIPTING_DEFINES = "${@perf_feature_enabled('perf-scripting', '', 'NO_LIBPERL=1 NO_LIBPYTHON=1',d)}"
|
||||
TUI_DEFINES = "${@perf_feature_enabled('perf-tui', '', 'NO_NEWT=1',d)}"
|
||||
LIBUNWIND_DEFINES = "${@perf_feature_enabled('perf-libunwind', '', 'NO_LIBUNWIND=1 NO_LIBDW_DWARF_UNWIND=1',d)}"
|
||||
LIBNUMA_DEFINES = "${@perf_feature_enabled('perf-libnuma', '', 'NO_LIBNUMA=1',d)}"
|
||||
|
||||
# The LDFLAGS is required or some old kernels fails due missing
|
||||
# symbols and this is preferred than requiring patches to every old
|
||||
# supported kernel.
|
||||
|
@ -82,8 +74,8 @@ EXTRA_OEMAKE = '\
|
|||
EXTRA_CFLAGS="-ldw" \
|
||||
EXTRA_LDFLAGS="${PERF_EXTRA_LDFLAGS}" \
|
||||
perfexecdir=${libexecdir} \
|
||||
NO_GTK2=1 ${TUI_DEFINES} NO_DWARF=1 ${LIBUNWIND_DEFINES} \
|
||||
${SCRIPTING_DEFINES} ${LIBNUMA_DEFINES} \
|
||||
NO_GTK2=1 NO_DWARF=1 \
|
||||
${PACKAGECONFIG_CONFARGS} \
|
||||
'
|
||||
|
||||
EXTRA_OEMAKE += "\
|
||||
|
@ -116,7 +108,7 @@ do_install() {
|
|||
unset CFLAGS
|
||||
oe_runmake install
|
||||
# we are checking for this make target to be compatible with older perf versions
|
||||
if [ "${@perf_feature_enabled('perf-scripting', 1, 0, d)}" = "1" ] && grep -q install-python_ext ${S}/tools/perf/Makefile*; then
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'true', 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then
|
||||
oe_runmake DESTDIR=${D} install-python_ext
|
||||
fi
|
||||
}
|
||||
|
@ -225,7 +217,7 @@ RDEPENDS_${PN}-python =+ "bash python python-modules"
|
|||
RDEPENDS_${PN}-perl =+ "bash perl perl-modules"
|
||||
RDEPENDS_${PN}-tests =+ "python"
|
||||
|
||||
RSUGGESTS_SCRIPTING = "${@perf_feature_enabled('perf-scripting', '${PN}-perl ${PN}-python', '',d)}"
|
||||
RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG', 'scripting', '${PN}-perl ${PN}-python', '',d)}"
|
||||
RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}"
|
||||
|
||||
#FILES_${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core /usr/lib64/traceevent ${libdir}/traceevent"
|
||||
|
|
Loading…
Reference in New Issue