diff options
author | Joel Stanley <joel@jms.id.au> | 2017-12-14 07:41:12 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-01-18 18:42:50 +0300 |
commit | e252c319c9aaa4a1d6eb9a73b21361bebb7e88f9 (patch) | |
tree | 288631d356ab79336c0be42b6e121d0bbd0a5966 /import-layers/yocto-poky | |
parent | 485fbbf83979d38203fee2e120d04d725749162b (diff) | |
download | openbmc-e252c319c9aaa4a1d6eb9a73b21361bebb7e88f9.tar.xz |
yocto: perf: Sync with upstream
Grabbed from oe-core 6d56f14a7276f076dfe625bc4d2c16a6a4635153.
A local change was added to ensure getVar is compatible with OpenBMC's
tree.
Change-Id: Ib006dcac51f976b7d12012079bb8b97ded326889
Signed-off-by: Joel Stanley <joel@jms.id.au>
Diffstat (limited to 'import-layers/yocto-poky')
-rw-r--r-- | import-layers/yocto-poky/meta/recipes-kernel/perf/perf.bb | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-kernel/perf/perf.bb b/import-layers/yocto-poky/meta/recipes-kernel/perf/perf.bb index 03ae4464e..8cf0f51dc 100644 --- a/import-layers/yocto-poky/meta/recipes-kernel/perf/perf.bb +++ b/import-layers/yocto-poky/meta/recipes-kernel/perf/perf.bb @@ -5,31 +5,28 @@ performance analysis. It covers hardware level \ (CPU/PMU, Performance Monitoring Unit) features \ and software features (software counters, tracepoints) \ as well." +HOMEPAGE = "https://perf.wiki.kernel.org/index.php/Main_Page" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" PR = "r9" -require perf-features.inc - -BUILDPERF_libc-uclibc = "no" - +PACKAGECONFIG ??= "scripting tui libunwind" +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" +PACKAGECONFIG[systemtap] = ",NO_SDT=1,systemtap" +PACKAGECONFIG[jvmti] = ",NO_JVMTI=1" DEPENDS = " \ virtual/${MLPREFIX}libc \ ${MLPREFIX}elfutils \ ${MLPREFIX}binutils \ - ${TUI_DEPENDS} \ - ${SCRIPTING_DEPENDS} \ - ${LIBUNWIND_DEPENDS} \ - bison flex xz \ + bison-native flex-native xz \ xmlto-native \ asciidoc-native \ " @@ -38,9 +35,10 @@ do_configure[depends] += "virtual/kernel:do_shared_workdir" PROVIDES = "virtual/perf" -inherit linux-kernel-base kernel-arch pythonnative +inherit linux-kernel-base kernel-arch # needed for building the tools/perf Python bindings +inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'pythonnative', '', d)} inherit python-dir export PYTHON_SITEPACKAGES_DIR @@ -50,7 +48,8 @@ export WERROR = "0" do_populate_lic[depends] += "virtual/kernel:do_patch" # needed for building the tools/perf Perl binding -inherit perlnative cpan-base +inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'perlnative', '', d)} +inherit cpan-base # Env var which tells perl if it should use host (no) or target (yes) settings export PERLCONFIGTARGET = "${@is_target(d)}" export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}/CORE" @@ -62,12 +61,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)}" -SYSTEMTAP_DEFINES = "${@perf_feature_enabled('perf-systemtap', '', 'NO_SDT=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,9 +75,10 @@ EXTRA_OEMAKE = '\ AR="${AR}" \ LD="${LD}" \ EXTRA_CFLAGS="-ldw" \ + EXTRA_LDFLAGS="${PERF_EXTRA_LDFLAGS}" \ perfexecdir=${libexecdir} \ - NO_GTK2=1 ${TUI_DEFINES} NO_DWARF=1 ${LIBUNWIND_DEFINES} \ - ${SCRIPTING_DEFINES} ${LIBNUMA_DEFINES} ${SYSTEMTAP_DEFINES} \ + NO_GTK2=1 NO_DWARF=1 \ + ${PACKAGECONFIG_CONFARGS} \ ' EXTRA_OEMAKE += "\ @@ -100,6 +94,12 @@ EXTRA_OEMAKE += "\ 'infodir=${@os.path.relpath(infodir, prefix)}' \ " +PERF_EXTRA_LDFLAGS = "" + +# MIPS N32 +PERF_EXTRA_LDFLAGS_mipsarchn32eb = "-m elf32btsmipn32" +PERF_EXTRA_LDFLAGS_mipsarchn32el = "-m elf32ltsmipn32" + do_compile() { # Linux kernel build system is expected to do the right thing unset CFLAGS @@ -111,7 +111,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 } @@ -220,7 +220,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" |