[Buildroot] [PATCH] BASH: Adding features that can not be automatically detected while cross-compiling

Arnout Vandecappelle arnout at mind.be
Tue Jan 17 17:18:25 UTC 2012


 Hoi Arkady,

 It's difficult or impossible to post patches from GMail.  I've taken over 
your patch and will post it in reply.  I'll also post a v2 which incorporates
some of my feedback, below.

On Sunday 15 January 2012 18:14:32 Arkady Gilinsky wrote:
> From: Arkady Gilinsky <arcadyg at gmail.com>
> Date: Sat, 14 Jan 2012 11:27:11 +0200
> Subject: [PATCH] BASH: Adding features that can not be automatically detected
>  while cross-compiling
> 
> There are some bash features that can not be detected automatically during
> configure stage while cross-compiling. This commit add ability to force
> support of such a features.
> 
> Signed-off-by: Arkady Gilinsky <arcadyg at gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>

> ---
>  package/bash/Config.in |   33 +++++++++++++++++++++++++++++++++
>  package/bash/bash.mk   |    6 +++++-
>  2 files changed, 38 insertions(+), 1 deletions(-)
> 
> diff --git a/package/bash/Config.in b/package/bash/Config.in
> index 9ee46e8..b7cc27d 100644
> --- a/package/bash/Config.in
> +++ b/package/bash/Config.in
> @@ -5,3 +5,36 @@ config BR2_PACKAGE_BASH
>  	  The standard GNU Bourne again shell.
> 
>  	  http://tiswww.case.edu/php/chet/bash/bashtop.html
> +
> +menu "BASH cross compile features selection"
> +	depends on BR2_PACKAGE_BASH

 Adding a menu just makes things more complex - the indentation added
by the 'depends on' statements is sufficient.  But then it should be
a comment that explains the subsequent options.

> +config BR2_PACKAGE_BASH_JOB_CONTROL
> +	bool "job_control"
> +	depends on BR2_PACKAGE_BASH
> +	help
> +	   The job control feature (Ctrl-Z and etc.)
> +	   Configure variable - bash_cv_job_control_missing
 I don' think mentioning the configure variable is relevant here.  (Same
for the other options.)

 Actually, doesn't this feature always exist on a Linux kernel?
(Again, same for the other options, except possibly printf_a_format.)

> +
> +config BR2_PACKAGE_BASH_NAMED_PIPES
> +	bool "named_pipes"
> +	depends on BR2_PACKAGE_BASH
> +	help
> +	   Named pipe presence
> +	   Configure variable - bash_cv_sys_named_pipes
> +
> +config BR2_PACKAGE_BASH_SIG_SET_JUMP
> +	bool "sigsetjmp"
> +	depends on BR2_PACKAGE_BASH
> +	help
> +	   POSIX-style sigsetjmp/siglongjmp
> +	   Configure variable - bash_cv_func_sigsetjmp
> +
> +config BR2_PACKAGE_BASH_PRINTF_A_FORMAT
> +	bool "printf_a_format"
> +	depends on BR2_PACKAGE_BASH
> +	help
> +	   Printf floating point output in hex notation
> +	   Configure variable - bash_cv_printf_a_format
> +
> +endmenu
> diff --git a/package/bash/bash.mk b/package/bash/bash.mk
> index f1f951c..78face7 100644
> --- a/package/bash/bash.mk
> +++ b/package/bash/bash.mk
> @@ -7,7 +7,11 @@
>  BASH_VERSION = 4.2
>  BASH_SITE = $(BR2_GNU_MIRROR)/bash
>  BASH_DEPENDENCIES = ncurses
> -BASH_CONF_ENV = bash_cv_job_control_missing=no
> +BASH_CONF_ENV +=
>           \
> +   bash_cv_job_control_missing=$(if
> $(BR2_PACKAGE_BASH_JOB_CONTROL),present,no) \
> +   $(if $(BR2_PACKAGE_BASH_NAMED_PIPES),
> bash_cv_sys_named_pipes=present,)      \
> +   $(if $(BR2_PACKAGE_BASH_SIG_SET_JUMP),
> bash_cv_func_sigsetjmp=present,)      \
> +   $(if $(BR2_PACKAGE_BASH_PRINTF_A_FORMAT), bash_cv_printf_a_format=yes,)
 I prefer (and I believe Peter does as well):

ifeq ($(BR2_PACKAGE_BASH_JOB_CONTROL),y)
BASH_CONF_ENV += bash_cv_job_control_missing=no
endif

more lines, but easier to read.


 Regards,
 Arnout

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F



More information about the buildroot mailing list