Re: [PATCH] kconfig: use $K64BIT to set 64BIT with all*config targets

Roman Zippel
2007-11-14T20:57:52Z

Hi,

On Sat, 10 Nov 2007, Sam Ravnborg wrote:

> + if (p) {
> + char warning[100];
> + sprintf(warning, "Environment variable (%s = \"%s\")", env, p);
> + conf_filename = warning;
> + def_flags = SYMBOL_DEF << def;
> + if (def == S_DEF_USER) {
> + sym = sym_find(symname);
> + if (!sym)
> + return 1;
> + } else {
> + sym = sym_lookup(symname, 0);
> + if (sym->type == S_UNKNOWN)
> + sym->type = S_OTHER;
> + }
> + conf_set_sym_val(sym, def, def_flags, p);
> + }
> + return 0;

This is more complex than necessary, this should be enough:

sym = sym_find(symname);
if (sym)
sym_set_string_value(sym, p);

This is not a direct user interface, so the potential stricter error
checking is not really needed.

In general I think it's problematic that this is only checked, when the
config system is called, i.e. with a configured kernel adding ARCH would
have no effect, what makes this more confusing is that one can later omit
the ARCH variable, since it's saved in the .config. I think it would be
better to check for this directly in the Makefile and then use a separate
tool to set the variable directly (which could be simply sed or a simple
helper program).

bye, Roman