#!/usr/bin/env python

import re
import sys

comment = re.compile('^\s*#')
assign = re.compile('^\s*([a-zA-Z_]+)\s*(\?)?=\s*([^#]*)')

with open('CONFIG') as f:
    for line in f:
        line = line.strip()
        if not comment.match(line):
            m = assign.match(line)
            if m:
                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 default.lower() == 'y' or default.lower() == 'n':
                    if val.lower() == 'y':
                        print "#define SPDK_{} 1".format(var)
                    else:
                        print "#undef SPDK_{}".format(var)
                else:
                    strval = val.replace('"', '\"')
                    print "#define SPDK_{} \"{}\"".format(var, strval)