summary refs log tree commit diff stats
path: root/scripts/minikconf.py
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2019-06-24 20:18:46 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2019-07-05 22:16:46 +0200
commit6b7ac49d570c66754fad1b80cc200c7596d1facd (patch)
tree6b7d7787db26dc9b4066e6cebd91a0d9a997e722 /scripts/minikconf.py
parent4b03403f7684ef2dc2af5f8ab8ab52515562e3fb (diff)
downloadfocaccia-qemu-6b7ac49d570c66754fad1b80cc200c7596d1facd.tar.gz
focaccia-qemu-6b7ac49d570c66754fad1b80cc200c7596d1facd.zip
minikconf: do not include variables from MINIKCONF_ARGS in config-all-devices.mak
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 <dinechin@redhat.com>
Reviewed-by: Christophe de Dinechin <dinechin@redhat.com>
Tested-by: Christophe de Dinechin <dinechin@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/minikconf.py')
-rw-r--r--scripts/minikconf.py5
1 files changed, 4 insertions, 1 deletions
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: