diff options
Diffstat (limited to 'linux')
-rw-r--r-- | linux/Config.in | 2 | ||||
-rw-r--r-- | linux/Config.tools.in | 57 | ||||
-rw-r--r-- | linux/linux-tool-cpupower.mk | 41 | ||||
-rw-r--r-- | linux/linux-tool-perf.mk | 134 | ||||
-rw-r--r-- | linux/linux-tool-selftests.mk | 46 | ||||
-rw-r--r-- | linux/linux.mk | 24 |
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) |