[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNATw1VRjX9CcJVdAzi7YDhmMFpxmBQqs_PPSKJdMbAD=pg@mail.gmail.com>
Date: Mon, 21 May 2018 15:41:55 +0900
From: Masahiro Yamada <yamada.masahiro@...ionext.com>
To: Sam Ravnborg <sam@...nborg.org>
Cc: Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ulf Magnusson <ulfalizer@...il.com>,
"Luis R . Rodriguez" <mcgrof@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Nicholas Piggin <npiggin@...il.com>,
Kees Cook <keescook@...omium.org>,
Emese Revfy <re.emese@...il.com>, X86 ML <x86@...nel.org>
Subject: Re: [PATCH v4 07/31] kconfig: add built-in function support
Hi Sam,
2018-05-21 15:16 GMT+09:00 Sam Ravnborg <sam@...nborg.org>:
> Hi Masahiro
>
>> >> + char *(*func)(int argc, char *argv[], int old_argc, char *old_argv[]);
>> >> +};
>> > If a typedef was provided for the function then ...
>>
>>
>> Yes, I can do this,
>> but I may rather consider to simplify the code.
>
> Simplify is better.
>
>> > Will the following be equal:
>> >
>> > $(foo,abc,$(x),$(y))
>> > $(foo, abc, $(x), $(y))
>> >
>> > make is rather annoying as space is significant, but there seems no good reason
>> > for kconfig to inheritate this.
>> > So unless there are good arguments consider alloing the spaces.
>> > If the current implmentation already supports optional spaces then I just missed
>> > it whie reviewing.
>>
>>
>> I have been thinking of trimming the leading whitespaces.
>> (https://patchwork.kernel.org/patch/10405549/)
>>
>> This is trade-off vs "how to pass spaces as arguments?"
>
> Maybe allow strings to be passed enclosed in ""?
> Then it is simple to add whitespace.
>
> But the use of "" should be optional in all other cases.
> And the "" should be stripped.
>
Hmm, your suggestion is more shell-oriented parsing.
In Make, there is no concept of quoting
because it does not touch single-quote, double-quote, whitespaces etc. at all.
$(info "'@@"'' '" ' "' )
will print the message as they are.
This simplifies both the grammar and the parser implementation.
If we expand the quoting by Kconfig,
we need more careful consideration.
[1] In the following, would "hello world" be expanded by Kconfig or by shell?
$(shell, echo "hello world")
[2] Is a quoted comma delimiter or not?
$(if,",",$(A))
If remember I first examined shell-oriented expansion,
but I stopped.
Probably, I found it was much more complex,
then I chose Make-like simpler one.
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists