genconfig: simplify argument parsing
Split the arguments into var=val once at startup and put them in a dict. Change-Id: Ic6b337e010a185448c1dab20659575081f03a645 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
051b059e26
commit
1e9c049638
@ -6,6 +6,14 @@ import sys
|
||||
comment = re.compile('^\s*#')
|
||||
assign = re.compile('^\s*([a-zA-Z_]+)\s*(\?)?=\s*([^#]*)')
|
||||
|
||||
args = {}
|
||||
for arg in sys.argv:
|
||||
m = assign.match(arg)
|
||||
if m:
|
||||
var = m.group(1).strip()
|
||||
val = m.group(3).strip()
|
||||
args[var] = val
|
||||
|
||||
with open('CONFIG') as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
@ -15,13 +23,8 @@ with open('CONFIG') as f:
|
||||
var = m.group(1).strip()
|
||||
default = m.group(3).strip()
|
||||
val = default
|
||||
for arg in sys.argv:
|
||||
m = assign.match(arg)
|
||||
if m:
|
||||
argvar = m.group(1).strip()
|
||||
argval = m.group(3).strip()
|
||||
if argvar == var:
|
||||
val = argval
|
||||
if var in args:
|
||||
val = args[var]
|
||||
if default.lower() == 'y' or default.lower() == 'n':
|
||||
if val.lower() == 'y':
|
||||
print "#define SPDK_{} 1".format(var)
|
||||
|
Loading…
Reference in New Issue
Block a user