Commit 6b7ac49d authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

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: default avatarChristophe de Dinechin <dinechin@redhat.com>
Reviewed-by: default avatarChristophe de Dinechin <dinechin@redhat.com>
Tested-by: default avatarChristophe de Dinechin <dinechin@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 4b03403f
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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,6 +702,7 @@ if __name__ == '__main__':

    config = data.compute_config()
    for key in sorted(config.keys()):
        if key not in external_vars:
            print ('CONFIG_%s=%s' % (key, ('y' if config[key] else 'n')))

    deps = open(argv[2], 'w')