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

From: konrad.gaisler
Date: Sat Nov 19 2011 - 02:52:18 EST


On 11/19/2011 07:23 AM, Arnaud Lacombe wrote:
Hi,

On Fri, Nov 18, 2011 at 5:51 PM, konrad.gaisler<konrad@xxxxxxxxxxx> wrote:
On 11/18/2011 07:09 PM, Randy Dunlap wrote:
(changed linux-config@ to linux-kbuild@xxxxxxxxxxxxxxx)

On 11/18/2011 06:16 AM, Konrad Eisele wrote:
New kconfig command "subsource":
subsource "<kconfig>""<cwd>""<.config>""<title>"<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, "<title>" 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>""<title>"<.config_prefix>


-- Konrad


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



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