[Buildroot] [PATCH v2] boot/barebox: fix target bareboxenv command compile

Yann E. MORIN yann.morin.1998 at free.fr
Sun Oct 4 19:32:26 UTC 2020


Peter, All,

On 2020-10-03 11:59 +0200, Peter Seiderer spake thusly:
> The buildroot custom bareboxenv compile command
> misses the additional include path 'scripts/include'
> to gain access to the local copy of the kernel header
> files (which leads to compile error when using an
> older toolchain).
> 
> This could be fixed by enhancing the custom bareboxenv
> compile command (see [1]) or by using the barebox
> build system by simply enabling the CONFIG_BAREBOXENV_TARGET
> option (available since April 2012, see [2]) instead (as
> suggested by Yann E. MORIN).
> 
> Fixes (with BR2_TARGET_BAREBOX_BAREBOXENV enabled):
> 
>   build/barebox-2019.12.0/scripts/bareboxenv.c:100:10: fatal error: linux/list.h: No such file or directory
> 
> [1] http://lists.busybox.net/pipermail/buildroot/2020-January/270942.html
> [2] https://git.pengutronix.de/cgit/barebox/commit/?id=afb03d7a554a2911a3742e316f011319fcb416f1
> 
> Reported-by: Frederick Gotham <cauldwell.thomas at gmail.com>
> Signed-off-by: Peter Seiderer <ps.report at gmx.net>

Applied to master, after adding an explicit disabling when the user has
not seelcted it; see the rationale in the commit log why I believe this
is legit.

Thanks, and sorry for the long tiem it took to review your initial v1...

Regards,
Yann E. MORIN.

> ---
> Changes v1 -> v2:
>   - change to barebox CONFIG_BAREBOXENV_TARGET config option
>     (suggested by Yann E. MORIN)
> ---
>  boot/barebox/barebox.mk | 22 +++++++++++++---------
>  1 file changed, 13 insertions(+), 9 deletions(-)
> 
> diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk
> index 422f27312d..d47a47966c 100644
> --- a/boot/barebox/barebox.mk
> +++ b/boot/barebox/barebox.mk
> @@ -88,13 +88,6 @@ $(1)_KCONFIG_DEPENDENCIES = \
>  	$(BR2_BISON_HOST_DEPENDENCY) \
>  	$(BR2_FLEX_HOST_DEPENDENCY)
>  
> -ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y)
> -define $(1)_BUILD_BAREBOXENV_CMDS
> -	$$(TARGET_CC) $$(TARGET_CFLAGS) $$(TARGET_LDFLAGS) -o $$(@D)/bareboxenv \
> -		$$(@D)/scripts/bareboxenv.c
> -endef
> -endif
> -
>  ifeq ($$(BR2_TARGET_$(1)_CUSTOM_ENV),y)
>  $(1)_ENV_NAME = $$(notdir $$(call qstrip,\
>  	$$(BR2_TARGET_$(1)_CUSTOM_ENV_PATH)))
> @@ -109,12 +102,23 @@ endef
>  endif
>  
>  ifneq ($$($(1)_CUSTOM_EMBEDDED_ENV_PATH),)
> -define $(1)_KCONFIG_FIXUP_CMDS
> +define $(1)_KCONFIG_FIXUP_CUSTOM_EMBEDDED_ENV_PATH
>  	$$(call KCONFIG_ENABLE_OPT,CONFIG_DEFAULT_ENVIRONMENT)
>  	$$(call KCONFIG_SET_OPT,CONFIG_DEFAULT_ENVIRONMENT_PATH,"$$($(1)_CUSTOM_EMBEDDED_ENV_PATH)")
>  endef
>  endif
>  
> +ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y)
> +define $(1)_KCONFIG_FIXUP_BAREBOXENV
> +	$$(call KCONFIG_ENABLE_OPT,CONFIG_BAREBOXENV_TARGET)
> +endef
> +endif
> +
> +define $(1)_KCONFIG_FIXUP_CMDS
> +	$$($(1)_KCONFIG_FIXUP_CUSTOM_EMBEDDED_ENV_PATH)
> +	$$($(1)_KCONFIG_FIXUP_BAREBOXENV)
> +endef
> +
>  define $(1)_BUILD_CMDS
>  	$$($(1)_BUILD_BAREBOXENV_CMDS)
>  	$$(TARGET_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D)
> @@ -136,7 +140,7 @@ endef
>  
>  ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y)
>  define $(1)_INSTALL_TARGET_CMDS
> -	cp $$(@D)/bareboxenv $$(TARGET_DIR)/usr/bin
> +	cp $$(@D)/scripts/bareboxenv-target $$(TARGET_DIR)/usr/bin/bareboxenv
>  endef
>  endif
>  
> -- 
> 2.28.0
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list