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

Randy Dunlap
2011-11-18T22:53:49Z

On 11/18/2011 02:51 PM, konrad.gaisler 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_
> (my mailclient breaks up the lines, it should be 2 lines only).
>
> Then start "make xconfig" once to build "qconfig". The patch adds an
> extra option to qconfig (also mconfig, gconfig and nconfig) "-s". This
> option enables the "subsource" tag. Now start qconfig:
> $<path-to-qconfig>/qconfig -s Kconfig
>
> Then you see a subtree "Sparc config" and "Mips config" that is a sparc
> and mips complete Kconfig. They are independent from another. The Sparc
> subtree is saved/loaded from .config_sparc, the Mips subtree is
> saved/loaded from .config_mips. No namespace clash.
>
> Note that without the "-s" option the Kconfig behaviour is as usual. I
> think it would be a help for many projects that use Kconfig.

OK, thanks for the explanation.

--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***