Re: [PATCH] kconfig: store default ARCH in .config

From: Konstantin Khlebnikov
Date: Sun Jul 06 2014 - 06:02:54 EST


On Sun, Jul 6, 2014 at 1:08 PM, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> On Sun, Jul 6, 2014 at 11:05 AM, Paul Bolle <pebolle@xxxxxxxxxx> wrote:
>> On Sun, 2014-07-06 at 12:02 +0400, Konstantin Khlebnikov wrote:
>>> This patch makes cross-compilation configuration fully statefull.
>>> Default ARCH is stored in .config as CONFIG_DEFAULT_ARCH.
>>> After initial configuration specifying ARCH= is no longer required.
>>>
>>> To avoid recursion it is read directly from .config using scritps/config
>>> because include/config/auto.conf is not yet included at this point.
>>>
>>> Signed-off-by: Konstantin Khlebnikov <koct9i@xxxxxxxxx>
>>> ---
>>
>> It this needed because the Kconfig symbol ARCH is set only if ARCH is
>> set in the environment?
>>
>> Could the same result be had by saving CONFIG_ARCH in .config (I suppose
>> it actually already is) and then use its value on builds with
>
> No, currently it's not saved in .config, so I guess that's why this convoluted
> approach is needed.

Yep, kconfig neither reads nor writres symbols with option env=...

>
>> that .config unless ARCH is specified in the environment again? Ie,
>> change the "option env=[...]" semantics a bit, perhaps by special casing
>> CONFIG_ARCH.
>
> Indeed.

If it's saved in config value might be out of sync with actual environment:
ARCH != CONFIG_ARCH. So, behaviour becomes too complicated.

>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
--
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/