From: "konrad.gaisler" <konrad@gaisler.com>
To: Randy Dunlap <rdunlap@xenotime.net>
Cc: linux-kernel@vger.kernel.org,
linux kbuild list <linux-kbuild@vger.kernel.org>,
mmarek@suse.cz, pefoley2@verizon.net,
yann.morin.1998@anciens.enib.fr, sam@ravnborg.org,
zippel@linux-m68k.org
Subject: Re: [PATCH 1/1] kconfig: Add a configuration subtree command to kconfig
Date: Fri, 18 Nov 2011 23:51:37 +0100 [thread overview]
Message-ID: <4EC6E179.1030703@gaisler.com> (raw)
In-Reply-To: <4EC69F65.20207@xenotime.net>
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>""<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_
(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.
-- Konrad
>
>> Signed-off-by: Konrad Eisele<konrad@gaisler.com>
>> ---
>> scripts/kconfig/conf.c | 6 +-
>> scripts/kconfig/confdata.c | 83 ++-
>> scripts/kconfig/expr.h | 16 +
>> scripts/kconfig/gconf.c | 3 +
>> scripts/kconfig/lkc.h | 1 +
>> scripts/kconfig/lkc_proto.h | 12 +-
>> scripts/kconfig/mconf.c | 13 +-
>> scripts/kconfig/menu.c | 18 +-
>> scripts/kconfig/nconf.c | 13 +-
>> scripts/kconfig/qconf.cc | 3 +
>> scripts/kconfig/symbol.c | 50 ++-
>> scripts/kconfig/util.c | 49 ++
>> scripts/kconfig/zconf.gperf | 1 +
>> scripts/kconfig/zconf.hash.c_shipped | 252 +++++-----
>> scripts/kconfig/zconf.l | 50 ++-
>> scripts/kconfig/zconf.lex.c_shipped | 52 ++-
>> scripts/kconfig/zconf.tab.c_shipped | 985 ++++++++++++++++++----------------
>> scripts/kconfig/zconf.y | 23 +-
>> 18 files changed, 991 insertions(+), 639 deletions(-)
>
>
next prev parent reply other threads:[~2011-11-19 2:51 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-18 14:16 [PATCH 1/1] kconfig: Add a configuration subtree command to kconfig Konrad Eisele
2011-11-18 18:09 ` Randy Dunlap
2011-11-18 22:51 ` konrad.gaisler [this message]
2011-11-18 22:51 ` Randy Dunlap
2011-11-19 6:23 ` Arnaud Lacombe
2011-11-19 7:52 ` konrad.gaisler
2011-11-20 13:36 ` Michal Marek
2011-11-21 11:03 ` Konrad Eisele
2011-11-19 6:15 ` Arnaud Lacombe
2011-11-19 6:15 ` Arnaud Lacombe
2011-11-19 7:55 ` konrad.gaisler
2011-11-22 14:03 ` [PATCH 0/3] intro Konrad Eisele
2011-11-22 14:16 ` Konrad Eisele
2011-11-22 14:03 ` [PATCH 1/3] kconfig: Move global elements into struct, create root context Konrad Eisele
2011-11-22 14:03 ` [PATCH 2/3] kconfig: Add support for Kconfig subtrees Konrad Eisele
2011-11-22 14:03 ` [PATCH 3/3] kconfig: gconfig save button should be greyed if no changes present Konrad Eisele
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EC6E179.1030703@gaisler.com \
--to=konrad@gaisler.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mmarek@suse.cz \
--cc=pefoley2@verizon.net \
--cc=rdunlap@xenotime.net \
--cc=sam@ravnborg.org \
--cc=yann.morin.1998@anciens.enib.fr \
--cc=zippel@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.