[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] minikconf: do not include variables from MINIKC
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH] minikconf: do not include variables from MINIKCONF_ARGS in config-all-devices.mak |
Date: |
Tue, 25 Jun 2019 12:52:29 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 |
On 6/25/19 10:13 AM, Paolo Bonzini wrote:
> When minikconf writes config-devices.mak, it includes all variables including
> those from MINIKCONF_ARGS. This causes values from config-host.mak to
> "stick" to
> the ones used in generating config-devices.mak, because config-devices.mak is
> included after config-host.mak. Avoid this by omitting assignments coming
> from the command line in the output of minikconf.
>
> Reported-by: Christophe de Dinechin <address@hidden>
> Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> scripts/minikconf.py | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/minikconf.py b/scripts/minikconf.py
> index 0ffc6c38da..3109a81db7 100644
> --- a/scripts/minikconf.py
> +++ b/scripts/minikconf.py
> @@ -688,11 +688,13 @@ if __name__ == '__main__':
>
> data = KconfigData(mode)
> parser = KconfigParser(data)
> + external_vars = set()
> for arg in argv[3:]:
> m = re.match(r'^(CONFIG_[A-Z0-9_]+)=([yn]?)$', arg)
> if m is not None:
> name, value = m.groups()
> parser.do_assignment(name, value == 'y')
> + external_vars.add(name[7:])
> else:
> fp = open(arg, 'r')
> parser.parse_file(fp)
> @@ -700,7 +702,8 @@ if __name__ == '__main__':
>
> config = data.compute_config()
> for key in sorted(config.keys()):
> - print ('CONFIG_%s=%s' % (key, ('y' if config[key] else 'n')))
> + if key not in external_vars:
> + print ('CONFIG_%s=%s' % (key, ('y' if config[key] else 'n')))
>
> deps = open(argv[2], 'w')
> for fname in data.previously_included:
>