Re: [Question] Why CONFIG_SHELL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sam,


On Mon, 9 Jun 2014 09:49:35 +0200
Sam Ravnborg <sam@xxxxxxxxxxxx> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux