[Buildroot] [PATCH 0/2] intro
Konrad Eisele
konrad at gaisler.com
Fri Nov 18 09:30:47 UTC 2011
I just sent a new patch
[PATCH 1/1] kconfig: Add a configuration subtree command to kconfig
that splits the execute and subtree patch. The "subsource" tag is
activated by "-s" option to mconfig,qconfig, nconfig and gconfig now.
Arnout Vandecappelle wrote:
> Hoi,
>
> I'm not very enthousiastic about either of these two features.
subtrees are for convenience only. Still everything can be done the
way it is now.
>
> On Thursday 17 November 2011 14:18:07 Konrad Eisele wrote:
>> The aim of patch-1 is to make it possible to have configuration subtrees.
>> This makes it possible to have a structure like this:
>>
>> buildroot-kconfigs
>> + linux-kconfigs
>> + busybox-kconfigs
>> + uclibc-kconfigs
>> + crosstools-kconfigs
>>
>> Where all configuration appear in one xconfig screen. Currently I have focues on
>> qconfig only, I think however adding support for gconfig and mconfig is possible
>> easily. The subtree feature is enabled with the -s option to qconfig: "qconfig -s <kconf>"
>
> - The subtree that has to be included depends on your buildroot configuration.
> So you have to include all possible linux, busybox, uclibc, ... configs and
> protect them with IFs. I can hardly imagine that Kconfig can deal with such
> huge configurations.
I have added rudiment support so that you can specify
subsource "kconfig.in" "path" "$(var)/config" ...
where "$(var) is substituted by the symbol-value of "var". I did it only
for the ".config" entry of "subsource" but it acn be done
for "kconfig.in" element as well, i.e. you could
subsource "linux-$(lversion)/arch/$(arch)/kconfig.in" "path" "$(var)/config" ...
The function to use is resolve_vars() in support/kconfig/util.c of the patch.
>
> - I don't like the size explosion of the buildroot tree that we would see
> if all these configs are included.
You could define a subtree that point to the kconfig root of the package _after_
download and install. Then you can add a check weather a subtree exists by
adding support/kconfig/zconf.y:
/* subsource $2:"sub-kconfig" $3:"sub-chdir" $4:"sub-.config" $5:"Title" $6:"subdomainprefix" $7:"confprefix" */
subsource_stmt: T_SUBSOURCE prompt prompt prompt prompt T_WORD word_opt T_EOL
{
if (dosubsource) {
+ FILE *f = zconf_fopen($2);
+ if (f) {
+ fclose(f);
printd(DEBUG_PARSE, "%s:%d:subsource %s\n", zconf_curname(), zconf_lineno(), $2);
zconf_nextconf($2, $3, $4, $5, $6, $7);
+ }
}
}
If the subtree doesnt exists the statement is ignored...
>
> - The packages which have kconfigs are the ones that are most likely to need
> board-specific modifications, which may define additional config options. This
> means that copying the config tree into buildroot isn't going to cut it.
>
> - Running configs for these things is a bit of an expert step. In particular
> because the configs have to be post-processed by buildroot and because
> you have to save them explicitly afterwards in a place different from the
> output directory. I think that part should be smoothed out first. Until
> then, I consider it a good thing that the normal user runs 'make xconfig'
> while the expert user runs 'make {,linux-,busybox-}menuconfig'.
Can still be done.
>
> - I don't know what it will look like visually because the patch failed to
> compile for me (current_conf_level is undefined), but I wonder if there is a
> significant advantage compared to just menus. At least in menuconfig
> it wouldn't really make a difference.
please try the patch I sent a hour ago to the list.
[PATCH 1/1] kconfig: Add a configuration subtree command to kconfig
It also includes the bison, flex, gperf outputs. it is diffed against
master of one hour ago...
>
>
>> The other feature that patch-1 adds is a config-entry type "execute: It is
>> like a string, however when doubleclicking (trying to edit) in qconfig
>> (only in qconfig currently) then the string is executed using "system(<str>)".
>> The goal is to be able to execute "make" from inside the gui, without having
>> to exit.
>
> Here I simply don't see the benefit. Whatever needs to be executed there
> can just be done with the normal make after the config finishes. If people
> want to push a button to run make, give them Eclipse with a buildroot
> plugin :-)
Still, you have to exit. Running it with a press on a button is more intuitive...
-- Konrad
>
>
> Regards,
> Arnout
>
>
More information about the buildroot
mailing list