Commit 1e9c0496 authored by Daniel Verkamp's avatar Daniel Verkamp Committed by Ben Walker
Browse files

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: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
parent 051b059e
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -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)