[Buildroot] [PATCH 1/3] linux: add linux-tools infra
Yann E. MORIN
yann.morin.1998 at free.fr
Sun Jul 12 18:40:40 UTC 2015
Romain, All,
On 2015-07-12 18:44 +0200, Romain Naour spake thusly:
> This commit add an infrastructure to build linux kernel
> tools available in the kernel sources.
>
> Currently, the only linux kernel tool packaged in Buildroot
> is perf and it's packaged as a separate generic package.
> This is a problem for licence information raised in this
> thread [1].
>
> Since these tools require to build a Linux kernel, we can
> use some hooks in linux package like we did for linux
> extensions [2] and remove the perf package.
>
> [1] http://lists.busybox.net/pipermail/buildroot/2015-May/128783.html
> [2] http://lists.busybox.net/pipermail/buildroot/2015-March/121835.html
>
> Signed-off-by: Romain Naour <romain.naour at openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
(Needless to say I like this! ;-] )
Regards,
Yann E. MORIN.
> ---
> linux/linux.mk | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/linux/linux.mk b/linux/linux.mk
> index eca1450..d483c11 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -325,6 +325,8 @@ define LINUX_INSTALL_TARGET_CMDS
> $(LINUX_INSTALL_HOST_TOOLS)
> endef
>
> +# Include all our externsions and tools definitions.
> +#
> # Note: our package infrastructure uses the full-path of the last-scanned
> # Makefile to determine what package we're currently defining, using the
> # last directory component in the path. As such, including other Makefile,
> @@ -334,6 +336,7 @@ 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)))
> @@ -342,6 +345,27 @@ 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 staging directory since some tools
> +# may install shared libraries and headers (e.g. cpupower). The
> +# kernel image is NOT installed in staging directory.
> +LINUX_INSTALL_STAGING = $(if $(strip $(LINUX_TOOLS)),YES,NO)
> +
> +LINUX_DEPENDENCIES += $(foreach tool,$(LINUX_TOOLS),\
> + $(if $(BR2_LINUX_KERNEL_TOOL_$(call UPPERCASE,$(tool))),\
> + $(LINUX_TOOL_$(call UPPERCASE,$(tool))_DEPENDENCIES)))
> +
> +LINUX_POST_BUILD_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
> + $(if $(BR2_LINUX_KERNEL_TOOL_$(call UPPERCASE,$(tool))),\
> + LINUX_TOOL_$(call UPPERCASE,$(tool))_BUILD_CMDS))
> +
> +LINUX_POST_INSTALL_STAGING_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
> + $(if $(BR2_LINUX_KERNEL_TOOL_$(call UPPERCASE,$(tool))),\
> + LINUX_TOOL_$(call UPPERCASE,$(tool))_INSTALL_STAGING_CMDS))
> +
> +LINUX_POST_INSTALL_TARGET_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
> + $(if $(BR2_LINUX_KERNEL_TOOL_$(call UPPERCASE,$(tool))),\
> + LINUX_TOOL_$(call UPPERCASE,$(tool))_INSTALL_TARGET_CMDS))
> +
> $(eval $(kconfig-package))
>
> # Support for rebuilding the kernel after the cpio archive has
> --
> 2.4.3
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list