From 1e9c049638800dc529f766c31d8974cdc0fdba6d Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Wed, 30 Nov 2016 10:04:14 -0700 Subject: [PATCH] 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 --- scripts/genconfig.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/scripts/genconfig.py b/scripts/genconfig.py index d9513ddc0..d8e1f7e89 100755 --- a/scripts/genconfig.py +++ b/scripts/genconfig.py @@ -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)