Re: [PATCH 1/1] kconfig: Add a configuration subtree command to kconfig

Arnaud Lacombe
2011-11-19T06:23:50Z

Hi,

On Fri, Nov 18, 2011 at 5:51 PM, konrad.gaisler <konrad@gaisler.com> wrote:
> On 11/18/2011 07:09 PM, Randy Dunlap wrote:
>>
>> (changed linux-config@ to linux-kbuild@vger.kernel.org)
>>
>> On 11/18/2011 06:16 AM, Konrad Eisele wrote:
>>>
>>> New kconfig command "subsource":
>>> subsource "<kconfig>""<cwd>""<.config>"" "<internal_prefix>
>>>  <.config_prefix>
>>> Allocates<kconfig>  as a configuration subtree using<.config>  as the
>>> configuration
>>> file to save and load from.<cwd>  is the directory path to switch to for
>>> "source" to
>>> work, " " is the Menu tile of the subtree,<internal_prefix> is a
>>> internal prefix,
>>> and<.config_prefix>  is the prefix to append/remove when
>>> saving/loading<.config>.
>>
>> That explains what but not why.  You need some justification(s) for such
>> a large patch.  Maybe even some example usages.
>
> The patch originated from a buildsystem that uses buildroot and linux.
> Both use Kconfig and the buildsystem itself uses Kconfig. To configure
> a subproject you have to exit the toplevel Kconfig and restart to
> startup a subproject Kconfig, It is even more anoying when looking
> inside buildroot. It has in its turn subprojects uClibc, busybox,
> linux, crosstools-ng which all use Kconfig. The subtree patch
> does make it possible to unify all in one Kconfig.
>
> As an example, apply the patch, then add to <top>/Kconfig the lines:
>
> subsource "arch/sparc/Kconfig" "." ".config_sparc" "SPARC config" SPARC_
> CONFIG_
> subsource "arch/mips/Kconfig" "." ".config_mips" "MIPS config" MIPS_ CONFIG_
>
ETOOMUCHARGUMENT!

I wonder if we could not get all these parameters specified
dynamically in the Kconfig. This would replace the `mainmenu' entry
ala:

config
title "Linux ..."
prefix "CONFIG_"
file .config
endconfig

That way, everytime you parse a tree, you can generate the structure
on-the-fly in a non-intrusive manner.

I have been thinking of doing something like that with a config file,
but doing it in the Kconfig would make much more sense.

Btw, what are you calling "<internal_prefix>" ?

Thanks,
- Arnaud