summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
Diffstat (limited to 'linux')
-rw-r--r--linux/Config.in2
-rw-r--r--linux/Config.tools.in57
-rw-r--r--linux/linux-tool-cpupower.mk41
-rw-r--r--linux/linux-tool-perf.mk134
-rw-r--r--linux/linux-tool-selftests.mk46
-rw-r--r--linux/linux.mk24
6 files changed, 2 insertions, 302 deletions
diff --git a/linux/Config.in b/linux/Config.in
index ab4e138b8..45d9d5ba1 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -400,7 +400,7 @@ config BR2_LINUX_KERNEL_INSTALL_TARGET
source "linux/Config.ext.in"
# Linux tools
-source "linux/Config.tools.in"
+source "package/linux-tools/Config.in"
endif # BR2_LINUX_KERNEL
diff --git a/linux/Config.tools.in b/linux/Config.tools.in
deleted file mode 100644
index 5ada98d9e..000000000
--- a/linux/Config.tools.in
+++ /dev/null
@@ -1,57 +0,0 @@
-menu "Linux Kernel Tools"
-
-config BR2_LINUX_KERNEL_TOOL_CPUPOWER
- bool "cpupower"
- depends on !BR2_bfin # pciutils
- depends on BR2_USE_WCHAR || !BR2_NEEDS_GETTEXT # gettext
- select BR2_PACKAGE_PCIUTILS
- select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
- help
- cpupower is a collection of tools to examine and tune power
- saving related features of your processor.
-
-comment "cpupower needs a toolchain w/ wchar"
- depends on !BR2_bfin
- depends on !BR2_USE_WCHAR && BR2_NEEDS_GETTEXT
-
-config BR2_LINUX_KERNEL_TOOL_PERF
- bool "perf"
- help
- perf (sometimes "Perf Events" or perf tools, originally
- "Performance Counters for Linux") - is a performance
- analyzing tool in Linux, available from kernel version
- 2.6.31. User-space controlling utility, called 'perf' has
- git-like interface with subcommands. It is capable of
- statistical profiling of entire system (both kernel and user
- code), single CPU or severals threads.
-
- This will build and install the userspace 'perf'
- command. It is up to the user to ensure that the kernel
- configuration has all the suitable options enabled to allow a
- proper operation of 'perf'.
-
- https://perf.wiki.kernel.org/
-
-config BR2_LINUX_KERNEL_TOOL_SELFTESTS
- bool"selftests"
- depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
- depends on BR2_USE_MMU # bash
- select BR2_PACKAGE_BASH # runtime
- select BR2_PACKAGE_POPT
- select BR2_PACKAGE_LIBCAP_NG
- help
- Build and install (to /usr/lib/kselftests) kernel selftests.
-
- Use of this option implies you know the process of using and
- compiling the kernel selftests. The Makefile to build and
- install these is very noisy and may appear to cause your
- build to fail for strange reasons.
-
- This is very much a use at your risk option and may not work
- for every setup or every architecture.
-
-comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS"
- depends on BR2_USE_MMU
- depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
-
-endmenu
diff --git a/linux/linux-tool-cpupower.mk b/linux/linux-tool-cpupower.mk
deleted file mode 100644
index 095a5efad..000000000
--- a/linux/linux-tool-cpupower.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-################################################################################
-#
-# cpupower
-#
-################################################################################
-
-LINUX_TOOLS += cpupower
-
-CPUPOWER_DEPENDENCIES = pciutils $(if $(BR2_NEEDS_GETTEXT),gettext)
-
-CPUPOWER_MAKE_OPTS = CROSS=$(TARGET_CROSS) \
- CPUFREQ_BENCH=false \
- NLS=false \
- $(if $(BR2_NEEDS_GETTEXT),LDFLAGS=-lintl) \
- DEBUG=false
-
-define CPUPOWER_BUILD_CMDS
- $(Q)if test ! -f $(@D)/tools/power/cpupower/Makefile ; then \
- echo "Your kernel version is too old and does not have the cpupower tool." ; \
- echo "At least kernel 3.4 must be used." ; \
- exit 1 ; \
- fi
-
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/tools \
- $(CPUPOWER_MAKE_OPTS) \
- cpupower
-endef
-
-define CPUPOWER_INSTALL_STAGING_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/tools \
- $(CPUPOWER_MAKE_OPTS) \
- DESTDIR=$(STAGING_DIR) \
- cpupower_install
-endef
-
-define CPUPOWER_INSTALL_TARGET_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/tools \
- $(CPUPOWER_MAKE_OPTS) \
- DESTDIR=$(TARGET_DIR) \
- cpupower_install
-endef
diff --git a/linux/linux-tool-perf.mk b/linux/linux-tool-perf.mk
deleted file mode 100644
index 8143474b0..000000000
--- a/linux/linux-tool-perf.mk
+++ /dev/null
@@ -1,134 +0,0 @@
-################################################################################
-#
-# perf
-#
-################################################################################
-
-LINUX_TOOLS += perf
-
-PERF_DEPENDENCIES = host-flex host-bison
-
-ifeq ($(KERNEL_ARCH),x86_64)
-PERF_ARCH=x86
-else
-PERF_ARCH=$(KERNEL_ARCH)
-endif
-
-PERF_MAKE_FLAGS = \
- $(LINUX_MAKE_FLAGS) \
- JOBS=$(PARALLEL_JOBS) \
- ARCH=$(PERF_ARCH) \
- DESTDIR=$(TARGET_DIR) \
- prefix=/usr \
- WERROR=0 \
- NO_LIBAUDIT=1 \
- NO_NEWT=1 \
- NO_GTK2=1 \
- NO_LIBPERL=1 \
- NO_LIBPYTHON=1 \
- NO_LIBBIONIC=1
-
-# We need to pass an argument to ld for setting the endianness when
-# building it for MIPS architecture, otherwise the default one will
-# always be used (which is big endian) and the compilation for little
-# endian will always fail showing an error like this one:
-# LD foo.o
-# mips-linux-gnu-ld: foo.o: compiled for a little endian system and
-# target is big endian
-ifeq ($(BR2_mips)$(BR2_mips64),y)
-PERF_MAKE_FLAGS += LD="$(TARGET_LD) -EB"
-else ifeq ($(BR2_mipsel)$(BR2_mips64el),y)
-PERF_MAKE_FLAGS += LD="$(TARGET_LD) -EL"
-endif
-
-# The call to backtrace() function fails for ARC, because for some
-# reason the unwinder from libgcc returns early. Thus the usage of
-# backtrace() should be disabled in perf explicitly: at build time
-# backtrace() appears to be available, but it fails at runtime: the
-# backtrace will contain only several functions from the top of stack,
-# instead of the complete backtrace.
-ifeq ($(BR2_arc),y)
-PERF_MAKE_FLAGS += NO_BACKTRACE=1
-endif
-
-ifeq ($(BR2_PACKAGE_SLANG),y)
-PERF_DEPENDENCIES += slang
-else
-PERF_MAKE_FLAGS += NO_SLANG=1
-endif
-
-ifeq ($(BR2_PACKAGE_LIBUNWIND),y)
-PERF_DEPENDENCIES += libunwind
-else
-PERF_MAKE_FLAGS += NO_LIBUNWIND=1
-endif
-
-ifeq ($(BR2_PACKAGE_NUMACTL),y)
-PERF_DEPENDENCIES += numactl
-else
-PERF_MAKE_FLAGS += NO_LIBNUMA=1
-endif
-
-ifeq ($(BR2_PACKAGE_ELFUTILS),y)
-PERF_DEPENDENCIES += elfutils
-else
-PERF_MAKE_FLAGS += NO_LIBELF=1 NO_DWARF=1
-endif
-
-ifeq ($(BR2_PACKAGE_ZLIB),y)
-PERF_DEPENDENCIES += zlib
-else
-PERF_MAKE_FLAGS += NO_ZLIB=1
-endif
-
-# lzma is provided by xz
-ifeq ($(BR2_PACKAGE_XZ),y)
-PERF_DEPENDENCIES += xz
-else
-PERF_MAKE_FLAGS += NO_LZMA=1
-endif
-
-# We really do not want to build the perf documentation, because it
-# has stringent requirement on the documentation generation tools,
-# like xmlto and asciidoc), which may be lagging behind on some
-# distributions.
-# We name it 'GNUmakefile' so that GNU make will use it instead of
-# the existing 'Makefile'.
-define PERF_DISABLE_DOCUMENTATION
- if [ -f $(@D)/tools/perf/Documentation/Makefile ]; then \
- printf "%%:\n\t@:\n" >$(@D)/tools/perf/Documentation/GNUmakefile; \
- fi
-endef
-LINUX_POST_PATCH_HOOKS += PERF_DISABLE_DOCUMENTATION
-
-# O must be redefined here to overwrite the one used by Buildroot for
-# out of tree build. We build perf in $(@D)/tools/perf/ and not just
-# $(@D) so that it isn't built in the root directory of the kernel
-# sources.
-define PERF_BUILD_CMDS
- $(Q)if test ! -f $(@D)/tools/perf/Makefile ; then \
- echo "Your kernel version is too old and does not have the perf tool." ; \
- echo "At least kernel 2.6.31 must be used." ; \
- exit 1 ; \
- fi
- $(Q)if test "$(BR2_PACKAGE_ELFUTILS)" = "" ; then \
- if ! grep -q NO_LIBELF $(@D)/tools/perf/Makefile* ; then \
- if ! test -r $(@D)/tools/perf/config/Makefile ; then \
- echo "The perf tool in your kernel cannot be built without libelf." ; \
- echo "Either upgrade your kernel to >= 3.7, or enable the elfutils package." ; \
- exit 1 ; \
- fi \
- fi \
- fi
- $(TARGET_MAKE_ENV) $(MAKE1) $(PERF_MAKE_FLAGS) \
- -C $(@D)/tools/perf O=$(@D)/tools/perf/
-endef
-
-# After installation, we remove the Perl and Python scripts from the
-# target.
-define PERF_INSTALL_TARGET_CMDS
- $(TARGET_MAKE_ENV) $(MAKE1) $(PERF_MAKE_FLAGS) \
- -C $(@D)/tools/perf O=$(@D)/tools/perf/ install
- $(RM) -rf $(TARGET_DIR)/usr/libexec/perf-core/scripts/
- $(RM) -rf $(TARGET_DIR)/usr/libexec/perf-core/tests/
-endef
diff --git a/linux/linux-tool-selftests.mk b/linux/linux-tool-selftests.mk
deleted file mode 100644
index 3cbfed2d8..000000000
--- a/linux/linux-tool-selftests.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-################################################################################
-#
-# selftests
-#
-################################################################################
-
-LINUX_TOOLS += selftests
-
-ifeq ($(KERNEL_ARCH),x86_64)
-SELFTESTS_ARCH=x86
-else
-ifeq ($(KERNEL_ARCH),i386)
-SELFTESTS_ARCH=x86
-else
-SELFTESTS_ARCH=$(KERNEL_ARCH)
-endif
-endif
-
-SELFTESTS_DEPENDENCIES = libcap-ng popt
-
-SELFTESTS_MAKE_FLAGS = \
- $(LINUX_MAKE_FLAGS) \
- ARCH=$(SELFTESTS_ARCH)
-
-# O must be redefined here to overwrite the one used by Buildroot for
-# out of tree build. We build the selftests in $(@D)/tools/selftests and
-# not just $(@D) so that it isn't built in the root directory of the kernel
-# sources.
-#
-# The headers_install step here is important as some kernel selftests use a
-# hardcoded CFLAGS to find kernel headers e.g:
-# CFLAGS += -I../../../../usr/include/
-# The headers_install target will install the kernel headers locally inside
-# the Linux build dir
-define SELFTESTS_BUILD_CMDS
- $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) $(SELFTESTS_MAKE_FLAGS) \
- headers_install
- $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D)/tools/testing/selftests \
- $(SELFTESTS_MAKE_FLAGS) O=$(@D)/tools/testing/selftests
-endef
-
-define SELFTESTS_INSTALL_TARGET_CMDS
- $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D)/tools/testing/selftests \
- $(SELFTESTS_MAKE_FLAGS) O=$(@D)/tools/testing/selftests \
- INSTALL_PATH=$(TARGET_DIR)/usr/lib/kselftests install
-endef
diff --git a/linux/linux.mk b/linux/linux.mk
index 5cbb5e5f1..988427ca7 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -400,7 +400,7 @@ define LINUX_INSTALL_TARGET_CMDS
$(LINUX_INSTALL_HOST_TOOLS)
endef
-# Include all our extensions and tools definitions.
+# Include all our extensions.
#
# Note: our package infrastructure uses the full-path of the last-scanned
# Makefile to determine what package we're currently defining, using the
@@ -411,7 +411,6 @@ endef
# the current Makefile, we are OK. But this is a hard requirement: files
# included here *must* be in the same directory!
include $(sort $(wildcard linux/linux-ext-*.mk))
-include $(sort $(wildcard linux/linux-tool-*.mk))
LINUX_PATCH_DEPENDENCIES += $(foreach ext,$(LINUX_EXTENSIONS),\
$(if $(BR2_LINUX_KERNEL_EXT_$(call UPPERCASE,$(ext))),$(ext)))
@@ -420,27 +419,6 @@ LINUX_PRE_PATCH_HOOKS += $(foreach ext,$(LINUX_EXTENSIONS),\
$(if $(BR2_LINUX_KERNEL_EXT_$(call UPPERCASE,$(ext))),\
$(call UPPERCASE,$(ext))_PREPARE_KERNEL))
-# Install Linux kernel tools in the staging directory since some tools
-# may install shared libraries and headers (e.g. cpupower). The kernel
-# image is NOT installed in the staging directory.
-LINUX_INSTALL_STAGING = YES
-
-LINUX_DEPENDENCIES += $(foreach tool,$(LINUX_TOOLS),\
- $(if $(BR2_LINUX_KERNEL_TOOL_$(call UPPERCASE,$(tool))),\
- $($(call UPPERCASE,$(tool))_DEPENDENCIES)))
-
-LINUX_POST_BUILD_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
- $(if $(BR2_LINUX_KERNEL_TOOL_$(call UPPERCASE,$(tool))),\
- $(call UPPERCASE,$(tool))_BUILD_CMDS))
-
-LINUX_POST_INSTALL_STAGING_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
- $(if $(BR2_LINUX_KERNEL_TOOL_$(call UPPERCASE,$(tool))),\
- $(call UPPERCASE,$(tool))_INSTALL_STAGING_CMDS))
-
-LINUX_POST_INSTALL_TARGET_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
- $(if $(BR2_LINUX_KERNEL_TOOL_$(call UPPERCASE,$(tool))),\
- $(call UPPERCASE,$(tool))_INSTALL_TARGET_CMDS))
-
# Checks to give errors that the user can understand
ifeq ($(BR_BUILDING),y)