lkml.org 
[lkml]   [2014]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Question] Why CONFIG_SHELL
Hi Sam,


On Mon, 9 Jun 2014 09:49:35 +0200
Sam Ravnborg <sam@ravnborg.org> wrote:

> On Mon, Jun 09, 2014 at 02:04:12PM +0900, Masahiro Yamada wrote:
> > Hi experts.
> >
> > I think all the macros with CONFIG_ prefix are supposed to be
> > defined in Kconfig.
> > But I've been long wondering why there exists one exception:
> > CONFIG_SHELL.
> >
> > Is there any historical, or special reason?
> It has been like this as far back as I remmeber.
> I assume that one has planned to set the shell in Kconfig back then.
>
> > Is it good to rename it to KBUILD_SHELL or something else?
> Please do so, to free up the CONFIG_ namespace.
>
> I the end Michal will decide if he want this cleanup.
> On the top of my head I see no problems in doing this,
> but maybe there are some out-of-tree modules or similar
> we need to consider...

Thanks for your commet.

Another question popped up.


CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi ; fi)


If bash is not found on the system, CONFIG_SHELL falls back to "sh".

Does it mean, all shell scripts are written as sh-compatible ?

I guess bash is installed on the almost all system.
It is difficult to detect the problem even if some scripts don't work
on sh.


If we allow bash-specific syntax in shell scripts,
we should stop the build immedately if bash is missing,
like this?

KBUILD_SHELL := /bin/bash
if [ ! -x "$$BASH" ]; then
$(error $KBUILD_SHELL not found)
fi




Best Regards
Masahiro Yamada



\
 
 \ /
  Last update: 2014-06-09 13:21    [W:0.056 / U:0.280 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site