Bump buildroot to version 2017-02
TG-3 #closed
This commit is contained in:
86
bsp/buildroot/package/linux-tools/Config.in
Normal file
86
bsp/buildroot/package/linux-tools/Config.in
Normal file
@@ -0,0 +1,86 @@
|
||||
menu "Linux Kernel Tools"
|
||||
|
||||
# No prompt, this is sourced by linux/Config.in as this
|
||||
# is no real package and really belongs to the kernel.
|
||||
config BR2_PACKAGE_LINUX_TOOLS
|
||||
bool
|
||||
|
||||
config BR2_PACKAGE_LINUX_TOOLS_CPUPOWER
|
||||
bool "cpupower"
|
||||
depends on !BR2_bfin # pciutils
|
||||
depends on BR2_USE_WCHAR || !BR2_NEEDS_GETTEXT # gettext
|
||||
select BR2_PACKAGE_LINUX_TOOLS
|
||||
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_PACKAGE_LINUX_TOOLS_GPIO
|
||||
bool "gpio"
|
||||
select BR2_PACKAGE_LINUX_TOOLS
|
||||
help
|
||||
gpio is a collection of tools to get information about,
|
||||
control and monitor gpios present on system.
|
||||
|
||||
These tools use new gpio ABI which will deprecate sysfs gpio
|
||||
interface in the future.
|
||||
|
||||
These tools are available only from kernel version 4.8.
|
||||
|
||||
config BR2_PACKAGE_LINUX_TOOLS_IIO
|
||||
bool "iio"
|
||||
select BR2_PACKAGE_LINUX_TOOLS
|
||||
help
|
||||
iio is a collection of tools to get information about,
|
||||
control and monitor iio devices present on system.
|
||||
|
||||
These tools are available only from kernel version 4.7.
|
||||
|
||||
config BR2_PACKAGE_LINUX_TOOLS_PERF
|
||||
bool "perf"
|
||||
select BR2_PACKAGE_LINUX_TOOLS
|
||||
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_PACKAGE_LINUX_TOOLS_SELFTESTS
|
||||
bool"selftests"
|
||||
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
|
||||
depends on BR2_USE_MMU # bash
|
||||
select BR2_PACKAGE_LINUX_TOOLS
|
||||
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
|
||||
41
bsp/buildroot/package/linux-tools/linux-tool-cpupower.mk
Normal file
41
bsp/buildroot/package/linux-tools/linux-tool-cpupower.mk
Normal file
@@ -0,0 +1,41 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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 $(LINUX_DIR)/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 $(LINUX_DIR)/tools \
|
||||
$(CPUPOWER_MAKE_OPTS) \
|
||||
cpupower
|
||||
endef
|
||||
|
||||
define CPUPOWER_INSTALL_STAGING_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
|
||||
$(CPUPOWER_MAKE_OPTS) \
|
||||
DESTDIR=$(STAGING_DIR) \
|
||||
cpupower_install
|
||||
endef
|
||||
|
||||
define CPUPOWER_INSTALL_TARGET_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
|
||||
$(CPUPOWER_MAKE_OPTS) \
|
||||
DESTDIR=$(TARGET_DIR) \
|
||||
cpupower_install
|
||||
endef
|
||||
28
bsp/buildroot/package/linux-tools/linux-tool-gpio.mk
Normal file
28
bsp/buildroot/package/linux-tools/linux-tool-gpio.mk
Normal file
@@ -0,0 +1,28 @@
|
||||
################################################################################
|
||||
#
|
||||
# gpio
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LINUX_TOOLS += gpio
|
||||
|
||||
GPIO_MAKE_OPTS = $(LINUX_MAKE_FLAGS)
|
||||
|
||||
define GPIO_BUILD_CMDS
|
||||
$(Q)if ! grep install $(LINUX_DIR)/tools/gpio/Makefile >/dev/null 2>&1 ; then \
|
||||
echo "Your kernel version is too old and does not have the gpio tools." ; \
|
||||
echo "At least kernel 4.8 must be used." ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
|
||||
$(GPIO_MAKE_OPTS) \
|
||||
gpio
|
||||
endef
|
||||
|
||||
define GPIO_INSTALL_TARGET_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
|
||||
$(GPIO_MAKE_OPTS) \
|
||||
DESTDIR=$(TARGET_DIR) \
|
||||
gpio_install
|
||||
endef
|
||||
27
bsp/buildroot/package/linux-tools/linux-tool-iio.mk
Normal file
27
bsp/buildroot/package/linux-tools/linux-tool-iio.mk
Normal file
@@ -0,0 +1,27 @@
|
||||
################################################################################
|
||||
#
|
||||
# iio
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LINUX_TOOLS += iio
|
||||
|
||||
IIO_MAKE_OPTS = $(LINUX_MAKE_FLAGS)
|
||||
|
||||
define IIO_BUILD_CMDS
|
||||
$(Q)if ! grep install $(LINUX_DIR)/tools/iio/Makefile >/dev/null 2>&1 ; then \
|
||||
echo "Your kernel version is too old and does not have install section in the iio tools." ; \
|
||||
echo "At least kernel 4.7 must be used." ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools/iio \
|
||||
$(IIO_MAKE_OPTS)
|
||||
endef
|
||||
|
||||
define IIO_INSTALL_TARGET_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools/iio \
|
||||
$(IIO_MAKE_OPTS) \
|
||||
INSTALL_ROOT=$(TARGET_DIR) \
|
||||
install
|
||||
endef
|
||||
134
bsp/buildroot/package/linux-tools/linux-tool-perf.mk
Normal file
134
bsp/buildroot/package/linux-tools/linux-tool-perf.mk
Normal file
@@ -0,0 +1,134 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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 $(LINUX_DIR)/tools/perf/Documentation/Makefile ]; then \
|
||||
printf "%%:\n\t@:\n" >$(LINUX_DIR)/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 $(LINUX_DIR)/tools/perf/ and not just
|
||||
# $(LINUX_DIR) so that it isn't built in the root directory of the kernel
|
||||
# sources.
|
||||
define PERF_BUILD_CMDS
|
||||
$(Q)if test ! -f $(LINUX_DIR)/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 $(LINUX_DIR)/tools/perf/Makefile* ; then \
|
||||
if ! test -r $(LINUX_DIR)/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 $(LINUX_DIR)/tools/perf O=$(LINUX_DIR)/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 $(LINUX_DIR)/tools/perf O=$(LINUX_DIR)/tools/perf/ install
|
||||
$(RM) -rf $(TARGET_DIR)/usr/libexec/perf-core/scripts/
|
||||
$(RM) -rf $(TARGET_DIR)/usr/libexec/perf-core/tests/
|
||||
endef
|
||||
46
bsp/buildroot/package/linux-tools/linux-tool-selftests.mk
Normal file
46
bsp/buildroot/package/linux-tools/linux-tool-selftests.mk
Normal file
@@ -0,0 +1,46 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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 $(LINUX_DIR)/tools/selftests and
|
||||
# not just $(LINUX_DIR) 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 $(LINUX_DIR) $(SELFTESTS_MAKE_FLAGS) \
|
||||
headers_install
|
||||
$(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/testing/selftests \
|
||||
$(SELFTESTS_MAKE_FLAGS) O=$(LINUX_DIR)/tools/testing/selftests
|
||||
endef
|
||||
|
||||
define SELFTESTS_INSTALL_TARGET_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/testing/selftests \
|
||||
$(SELFTESTS_MAKE_FLAGS) O=$(LINUX_DIR)/tools/testing/selftests \
|
||||
INSTALL_PATH=$(TARGET_DIR)/usr/lib/kselftests install
|
||||
endef
|
||||
46
bsp/buildroot/package/linux-tools/linux-tools.mk
Normal file
46
bsp/buildroot/package/linux-tools/linux-tools.mk
Normal file
@@ -0,0 +1,46 @@
|
||||
################################################################################
|
||||
#
|
||||
# linux-tools
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# Vampirising sources from the kernel tree, so no source nor site specified.
|
||||
# Instead, we directly build in the sources of the linux package. We can do
|
||||
# that, because we're not building in the same location and the same files.
|
||||
#
|
||||
# So, all tools refer to $(LINUX_DIR) instead of $(@D).
|
||||
|
||||
# Note: we need individual tools .mk files to be included *before* this one
|
||||
# to guarantee that each tool has a chance to register itself before we build
|
||||
# the list of build and install hooks, below.
|
||||
#
|
||||
# This is currently guaranteed by the naming of each file:
|
||||
# - they get included by the top-level Makefile, with $(sort $(wildcard ...))
|
||||
# - make's $(sort) function will aways sort in the C locale
|
||||
# - the files names correctly sort out in the C locale so that each tool's
|
||||
# .mk file is included before this one.
|
||||
|
||||
# We only need the kernel to be extracted, not actually built
|
||||
LINUX_TOOLS_PATCH_DEPENDENCIES = linux
|
||||
|
||||
# Install Linux kernel tools in the staging directory since some tools
|
||||
# may install shared libraries and headers (e.g. cpupower).
|
||||
LINUX_TOOLS_INSTALL_STAGING = YES
|
||||
|
||||
LINUX_TOOLS_DEPENDENCIES += $(foreach tool,$(LINUX_TOOLS),\
|
||||
$(if $(BR2_PACKAGE_LINUX_TOOLS_$(call UPPERCASE,$(tool))),\
|
||||
$($(call UPPERCASE,$(tool))_DEPENDENCIES)))
|
||||
|
||||
LINUX_TOOLS_POST_BUILD_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
|
||||
$(if $(BR2_PACKAGE_LINUX_TOOLS_$(call UPPERCASE,$(tool))),\
|
||||
$(call UPPERCASE,$(tool))_BUILD_CMDS))
|
||||
|
||||
LINUX_TOOLS_POST_INSTALL_STAGING_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
|
||||
$(if $(BR2_PACKAGE_LINUX_TOOLS_$(call UPPERCASE,$(tool))),\
|
||||
$(call UPPERCASE,$(tool))_INSTALL_STAGING_CMDS))
|
||||
|
||||
LINUX_TOOLS_POST_INSTALL_TARGET_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
|
||||
$(if $(BR2_PACKAGE_LINUX_TOOLS_$(call UPPERCASE,$(tool))),\
|
||||
$(call UPPERCASE,$(tool))_INSTALL_TARGET_CMDS))
|
||||
|
||||
$(eval $(generic-package))
|
||||
Reference in New Issue
Block a user