summaryrefslogtreecommitdiffstats
path: root/package/linux-tools
Commit message (Collapse)AuthorAgeFilesLines
* package/linux-tools: add support for pcitest toolGustavo Pimentel2018-11-132-0/+36
| | | | | | | | | Add support for selection and compiling the pcitest tool on buildroot. This tool is available to be compiled since kernel 4.20. Signed-off-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* linux: automatically set CONFIG_PERF_EVENTS when perf is enabledJan Heylen2018-07-041-3/+5
| | | | | | | | | | Perf profiling cannot be used if CONFIG_PERF_EVENTS is not enabled in the kernel configuration. Similar to other tools, like ktap, we can enable the right options automatically. Signed-off-by: Jan Heylen <jan.heylen@nokia.com> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* linux-tools: perf: add option to build TUIJohn Keeping2018-04-282-3/+22
| | | | | | | | | | | | | | | | | | | | | Since Linux 3.10, perf's NO_NEWT configuration option simply sets NO_SLANG=1 and there is no dependency on libnewt. We already handle NO_SLANG correctly based on whether or not BR2_PACKAGE_SLANG is selected, so all we accomplish by setting NO_NEWT=1 is disabling perf's TUI when all of the dependencies are available. To simplify all of this, introduce a new config option to enable the perf TUI which depends on slang and add a check to prevent building the TUI on versions which are too old. The check for NO_SLANG is equivalent to checking if NO_NEWT is required as NO_SLANG was added in the same commit that removed the libnewt dependency and deprecated NO_NEWT (6692c262df4f, "perf tools: Remove dependency on libnewt", 2013-03-28). Signed-off-by: John Keeping <john@metanate.com> [Thomas: add missing BR2_USE_MMU dependency, coming from the slang package. Noticed by Yann E. Morin.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package: remove Blackfin related codeThomas Petazzoni2018-04-151-1/+0
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/linux-tools: fixes build of iio with 4.14+ kernelsJulien BOIBESSOT2017-12-121-0/+2
| | | | | | | | | | | | | | Since Linux kernel commit [1], the build of the iio tool has been changed to use the common Linux tools build system. The installation directory is now given by DESTDIR, like for all other Linux tools. We keep the INSTALL_DIR environment in the 'install' target to be compatible with kernels older than 4.14. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=18956cf2d78a8d4a5959e20240f04ce8d5a6c121 Signed-off-by: Julien BOIBESSOT <julien.boibessot@armadeus.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* linux-tools/perf: fix build for MIPS by using the right emulation on LDVicente Olivert Riera2017-10-231-11/+19
| | | | | | | | | Passing just the endianness flag to LD is not enough. We need to pass the right emulation flag which will set everything for us, not only the endianness. Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* package/linux-tools: gpio does not build in parallelYann E. MORIN2017-08-301-2/+2
| | | | | | | | | | Partially fixes #10276. Reported-by: Ciro Santilli <ciro.santilli@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Ciro Santilli <ciro.santilli@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/linux-tools: add support for building tmonMarkus Mayer2017-07-192-0/+45
| | | | | | | | | | | | | Signed-off-by: Markus Mayer <mmayer@broadcom.com> [Thomas: - tweak Config.in help text as provided by Markus - adjust commit log - add missing select BR2_PACKAGE_NCURSES - add missing dependency on host-pkgconf, used by the tmon Makefile to find ncurses - add logic to disable -fstack-protector when the toolchain doesn't have SSP support.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/linux-tools: change method for including linux-tool sub-makefilesMarkus Mayer2017-07-196-9/+8
| | | | | | | | | | | | | | | | | | Make inclusion ordering of all linux-tool-*.mk sub-makefiles explicit instead of relying on alphabetical sort order. This is done by renaming the Linux tools sub-makefiles to the format linux-tool-*.mk.in. This causes the top-level Makefile to ignore the Linux tools sub-makefiles. Until now, the main Makefile included all linux-tool-*.mk files, as well as linux-tools.mk, and it relied on alphabetical sorting to include them in the proper order (linux-tool-*.mk before linux-tools.mk). Signed-off-by: Markus Mayer <mmayer@broadcom.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> [Thomas: improve comment in the code as suggested by Yann.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* linux-tools: use the new gettext logicThomas Petazzoni2017-07-052-8/+2
| | | | | | | | | | | | | | This commit switches to use the new gettext logic, which involves: - using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies on gettext/host-gettext - using TARGET_NLS_LIBS to force linking against libintl - dropping BR2_PACKAGE_GETTEXT selection. The BR2_USE_WCHAR dependency was only needed for gettext, so it is no longer needed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/linux-tools: add iioMarcin Niestroj2016-10-052-0/+36
| | | | | | Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/linux-tools: add gpioMarcin Niestroj2016-10-052-0/+40
| | | | | | Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/linux-tools: don't register each tools twiceYann E. MORIN2016-09-231-12/+10
| | | | | | | | | | | | | | | | | | | | Because each tool's individual .mk files is included from the top-level Makefile and we also include them from linux-tools.mk, they get registered twice, and thus built twice, and thus installed twice. We did include them from linux-tools.mk to guarantee they would be included early and each tool had a chance to register itself before we were to construct the build and install hooks. However, the ordering is _currently_ guaranteed, in the C locale by the files names, which we anyway sort using make's $(sort) function, which always sorts in the C locale. Beware if we are to ever rename those files in the future... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* linux-tools: fix include pathThomas Petazzoni2016-09-221-1/+1
| | | | | | | The .mk files in linux-tools are named linux-tool-*.mk, not linux-ext-*.mk. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* linux/tools: make it a real, separate packageYann E. MORIN2016-09-225-0/+334
The kernel source tree also contains the sources for various userland tools, of which cpupower, perf or selftests. Currently, we have support for building those tools as part of the kernel build procedure. This looked the correct thing to do so far, because, well, they *are* part of the kernel source tree and some really have to be the same version as the kernel that will run. However, this is causing quite a non-trivial-to-break circular dependency in some configurations. For example, this defconfig fails to build (similar to the one reported by Paul): BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y BR2_TOOLCHAIN_EXTERNAL=y BR2_INIT_SYSTEMD=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="26f3b72a9c049be10e6af196252283e1f6ab9d1f" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" BR2_PACKAGE_LINUX_TOOLS_CPUPOWER=y BR2_PACKAGE_CRYPTODEV=y BR2_PACKAGE_OPENSSL=y BR2_PACKAGE_LIBCURL=y This causes a circular dependency, as explained by Thomas: - When libcurl is enabled, systemd depends on it - When OpenSSL is enabled, obviously, will use it for SSL support - When cryptodev-linux is enabled, OpenSSL will depend on it to use crypto accelerators supported in the kernel via cryptodev-linux. - cryptodev-linux being a kernel module, it depends on linux - linux by itself (the kernel) does not depend on pciutils, but the linux tool "cpupower" (managed in linux-tool-cpupower) depends on pciutils - pciutils depends on udev when available - udev is provided by systemd. And indeed, during the build, we can see that make warns (it's only reported as a *warning*, not as an actual error): [...] make[1]: Circular /home/ymorin/dev/buildroot/O/build/openssl-1.0.2h/.stamp_configured <- cryptodev-linux dependency dropped. >>> openssl 1.0.2h Downloading [...] So the build fails later on, when openssl is actually built: eng_cryptodev.c:57:31: fatal error: crypto/cryptodev.h: No such file or directory compilation terminated. <builtin>: recipe for target 'eng_cryptodev.o' failed Furthermore, graph-depends also detects the circular dependency, but treats it as a hard-error: Recursion detected for : cryptodev-linux which is a dependency of: openssl which is a dependency of: libcurl which is a dependency of: systemd which is a dependency of: udev which is a dependency of: pciutils which is a dependency of: linux which is a dependency of: cryptodev-linux Makefile:738: recipe for target 'graph-depends' failed Of course, there is no way to break the loop without losing functionality in either one of the involved packages *and* keep our infrastructure and packages as-is. The only solution is to break the loop at the linux-tools level, by moving them away into their own package, so that the linux package will no longer have the opportunity to depend on another package via a dependency of one the tools. All three linux tools are thus moved away to their own package. The package infrastructure only knows of three types of packages: those in package/ , in boot/ , in toolchain/ and the one in linux/ . So we create that new linux-tools package in package/ so that we don't have to fiddle with yet another special case in the infra. Still, we want its configure options to appear in the kernel's sub-menu. So, we make it a prompt-less package, with only the tools visible as options of that package, but without the usual dependency on their master symbol; they only depend on the Linux kernel. Furthermore, because the kernel is such a huge pile of code, we would not be very happy to extract it a second time just for the sake of a few tools. We can't extract only the tools/ sub-directory from the kernel source either, because some tools have hard-coded path to includes from the kernel (arch and stuff). Instead, we just use the linux source tree as our own build tree, and ensure the linux tree is extracted and patched before linux-tools is configured and built. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Paul Ashford <paul.ashford@zurria.co.uk> [Thomas: - fix typo #(@D) -> $(@D) - fix the inclusion of the per-tool .mk files.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
OpenPOWER on IntegriCloud