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

konrad.gaisler
2011-11-19T07:52:09Z

On 11/19/2011 07:23 AM, Arnaud Lacombe wrote:
> 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
Yes maybe it can be done that way. Personally I think it is
more difficult.

>
> 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>" ?

It is a left-over of a previous iteration where I was prefixing all
symbols to avoid namespace clashes. Now I use the symbol->level
field. It can be removed to:

subsource "<kconfig>""<cwd>""<.config>"" "<.config_prefix>

-- Konrad

>
> Thanks,
> - Arnaud
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>